Performance issue import gedcoms with large DB

I’m using RM8 on an iMac 5K with 32GB of RAM. My research tree contains the trees of 1660 DNA matches, about 250,000 people in total. When I import a gedcom - even one with ten individuals, I consistently see the following behavior:

  1. I select the file to import
  2. I Click OK on the Import Gedcom dialog box
  3. I see the progress widget spin as the individuals are imported.
  4. Now RootsMagic hangs…
  • I see the OS spinning ball
  • Activity Viewer shows RM8 is using 100% CPU
  • Activity Viewer shows RM8 is not responding
  • Activity viewer shows the count of recent hangs increasing
  1. After one to five minutes RM8 screen refreshes and is available again, the import was successful.

Does anyone know whether this behavior is also seen in windows?

Perhaps you mean Activity Monitor?
RM8 on my M1 pro MBP 14 with 16GM ram uses 20 to 60% of my cpu in normal operation. You are certainly not ram limited and RM8 uses intel code. Do you get Windows access violation crashes from poor memory management? Most mac users seem to get these quite often and Renee has told me to do everything slowly on the mac to let RM8 keep up and not panic.
Have you run the database repair tools. You have a very large database which could easily have problems. A file with 250K people suggests a serious data quality issue. Is your media in one folder or scatter all over?


Yes I mean Activity Monitor. Like you I typically see 20% to 60% CPU utilization. I get frequent Windows Access Violation errors and definitely taking my time reduces these. Surprisingly I have learned that much of the time I can continue working after these without any obvious negative consequences. They do seem to relate to timing issues. I had heard that RM was written in Delphi, I have no experience with the implications of this wrt threading, or how the cross platform GUI is implemented. I have many opinions but they’re off-topic.

I run the repair tools every few days. This latest database is less than two weeks old, formed from the aggregation of some smaller ones. I have been trying out a new (to me) way of working for a few months:
using automation to download large trees of DNA matches, using genmerge to merge these gedcoms, and search for common ancestors of DNA clusters. Certainly these “working research trees” have poor quality genealogical data. The success has been discovering that I have, say, 30 DNA matches who descend from Thomas Livesay (1700) born Pleasington, and the challenge is figuring out what this might mean. How practical it will be to separate trusted and untrusted trees I don’t know.

My media is in a single directory but in this case it’s less that 100 files.

Hello Peter,

When I try this on Windows, importing my own tree with 10,000 people into a big one containing European nobility, with over 300,000 people, the behavior is somewhat similar, but the hang is just about one minute, and not 5. I also don’t see a 100 % CPU load, but much less, as if RM is ony using one core. This is on a laptop with an Intel i5 mobile, and 8 GB RAM.

When I try it with RM 8 running in Wine, in Linux Mint Debian Edition, the import of the big tree hangs at the end, so I can’t replicate your scenario on that, althoug I might when I’m more patient. I hoped to see something similar though, because software wise, RM running in Wine on Linux is quite similar to running RM 8 on iOS, meaning that it’s running on a Windows emulation layer. I know that was the case for RM 7, and I suspect that it’s still true for RM 8.

With this in mind, I think that you may be better off with RM 8 running on Windows in VirtualBox.


Thank you for taking the time to share this. Just to be clear, the “100% CPU” I refer to is what the Activity Monitor reports, which uses the same (confusing) convention as Linux’ top, where 100% is 100% of one core.

again thanks,


Me again.

I ran another test on Windows 10 running in VirtualBox, on my desktop which has an i7 and 8 GB RAM, with 4 of 8 cores and 4 GB RAM assigned to the VM, and on that, results are quite similar to what I got on my laptop, meaning that the import of the big tree runs fine, and the import of the small one into the big one leads to a 1 minute hang at the end, with a 25 % CPU load, meaning that only one of the 4 emulated cores is used.

CPU wise, this is a bit slower than your iMac 5 K, which seems to have a 6 core i5, and RAM wise, it is much smaller, with only 4 GB instead of your 32, but in total, it does seem to work a lot better, and I see no access violations whatsoever.

P.S. According to Geni, Thomas Livesay is my 10th cousin, 8 times removed.

I did the big import again, on Linux with Wine, and went shopping, and the import did not complete, and the CPU load was close to 0 when I returned, so that’s another situation.

Does it really say Windows Access Violation on your system? I read about Delphi, and what I read made me conclude that it’s not the same as a Windows app on Wine, as RM 7 was, for Mac.

It says,

Unexpected Error
Access Violation

Previously RootsMagic encountered an “access violation” which may cause more errors until you restart RootsMagic.
It is recommended that you now close and restart RootsMagic.

OK, so it looks like RM 8 still has a lot of memory management issues on Macs. That’s sad.

I’ve seen a lot of access violations in the public previews, and many kept showing up during bulk imports from FamilySearch in the release version, but today, RM 8 is quite stable on Windows, even in that VM that has no more than 4 GB RAM.

Bruce’s port to the mac managed to bring over such windows sillyness as access violations which I have never seen on the mac in decades of use. iOS is the phone/pad OS not the mac OS and RM8 does not run on iOS. RM8 uses 20 to 60% cpu vs 0.1% by FTM 2019 on a new MBP 14 M1 Pro with 16GB ram. This shouts very bad resource use and a bungled port.

1 Like

When I first investigated using RM8 during the beta phase I was assured by the RootsMagic support team that RM8 for Mac OS was a native Mac application no emulation so in theory the only emulation would be Rosetta for those running RM8 on a M1 based Mac. On an Intel based Mac it should be native OS.

There are a couple of things that make me wonder if it is indeed a memory issue. I would expect that if it were an access violation that I would then see unstable possibly catastrophic behavior after seeing this message. Yet I estimate that at least 80% of the time that I see this I can continue working for an hour or more without restart without seeing any obvious issues.

I think it looks and smells like a concurrency issue. It’s my understanding that the app is written in Delphi. It must be 33 years since I last knew a developer who used Delphi. I am not familiar with the limitations that come with this platform.

The look and feel of RM8 is idiosyncratic, especially when compared with RM7. I can’t think of another software product like it. When I consider that RM8 is still the genealogy app that I prefer, having tried at least eight others I can only conclude that developing genealogy applications must be very difficult because of the quality that I see.

OK, but even if it’s native, which it is, when it was compiled with Delphi for Intel, there is still platform dependent code in the parts of Delphi that map memory allocation calls to the macOS or Windows API, and also in code that takes care of multi-threading, user interface, etc. And the consequence of that is, that one may see some specific errors on one platform, and not on the other.

And my experience is, that with the current version of RM 8, I see very few access violations on Windows, even with big databases, and low memory configurations like Windows 10 running on a VM with only 4 GB RAM.

It largely depends on when you see those access violations. I saw a lot when I imported large amounts of persons from FamilySearch, which were actions that rarely completed without such an error, and where the GUI showed clear signs of multi threading gone wrong, like a premature import complete message. I wrote about that earlier, and this import has improved much in the latest release (8.1.8), although it’s still not as stable as in AQ.

As far as I can decide by looks and smell, there is not much concurrency in the GEDCOM import, because if there were, you would not see the kind of freeze that we both see when importing a small GEDCOM into a big database, and that freeze is definitely there, also on Windows. I must admit that I saw access violations with earlier versions, also for GEDCOM imports, but today, they are quite rare.

I’m assuming that the idiosyncratic looks come from FireMonkey, because that seems to be the cross platform tool that was added to Delpi 10 years ago (source Wikipedia). And that feels like a similar change as Windows apps that are migrated from Windows Forms to WPF, which is an area that I have some experience with. And I have seen and cured threading problems in WPF based .NET applications too.

My main genealogy program is Gramps, which is as idiosyncratic as RM 8, because of its UI toolbase, GTK, and it’s very stable on Linux, macOS, and Windows, especially now that we changed the default database settings to SQLite. I use it, because it speaks my language, and RM does not, but I often use RM to look for duplicates in large trees, and to synchronize data with Ancestry and FamilySearch. And in those areas, RM is a clear winner, even though it’s less stable than AQ.

So in my case I am using getmyancestors to download FamilySearch trees from MRCAs for DNA clusters then importing the resultant gedcoms. When I have problems it’s often combined with a pre3mature import complete message, or a difference in the which dialogs are on top or underneath others. There certainly isn’t well behaved concurrency. For large numbers of duplicates I use a Windows (Java) tool, Genmerge, which is pretty good.

I will give Gramps another go with my large research tree and see how it works.



Yes, that’s right. I see those problems too, where you don’t know where the dialogs are, and Windows doesn’t know either.

I must say that for large trees, RootsMagic is way faster in finding duplicates, and checking relationships, so you might not be that happy with Gramps.