Modern Software Experience

2008-05-06

About this resource

One aspect

This resource created 2008 May 6 collects GEDCOM import speed measurements from my genealogy software reviews. I have added numbers from later reviews, and done some speed measurements to list additional programs.

There are many more aspects to a genealogy program, and to GEDCOM support, but import speed is one aspect I always test. You need to get some data into a program to test the rest, and toy databases with a dozen individuals in them tell you almost nothing about program quality. It is how a program handles a real database that really matters. After all, you’d like to keep using a program as your database grows.

character encoding

The main test file is an ANSEL GEDCOM written by PAF 5.2.18.0 (2002). Sadly, there are still quite a few program out that do not still support UTF-8, and even programs that do not recognise ANSEL. That a program imported an ANSEL GEDCOM in ten minutes does not imply it imported it correctly.

speed only

This overview is about speed, with a few brief remarks about memory usage in the notes. See individual reviews for any remarks about the quality of the import log, unsupported tags and handling of unknown tags.

Two tests

The main test file is a GEDCOM with slightly more than hundred thousand individuals in it. The GEDCOM is roughly 38 megabytes. I often refer to this file as the 100k INDI file.

It is quite possible to import that file in a few minutes, but because quite a few programs have such slow GEDCOM import that it takes hours, I often start with a smaller GEDCOM file. I initially used various files, but later settled on a particular file of roughly 1 megabyte, containing less than five thousand individuals.

The 100k INDI GEDCOM was created from an old copy of my unfinished research. It is not available for download. You can make your own 100k INDI database by merging several other databases.

The 1 MB GEDCOM is one I found on the Internet. I have collected many GEDCOM files, and picked this one solely because it happens to be approximately one megabyte and is easy to locate in a size-sorted overview.

The nearly-round numbers (100k INDI and 1 GB) make it easy for you to make a quick estimate how well the program would handle your database.

computer

All the test in this overview has been performed on a the same computer running Windows XP with the latest service packs and patches. The computer is an Intel motherboard, and the CPU is a 2,7 GHz Pentium 4, a single-core 32-bit processor. Early tests were performed with 1 GB of RAM, later tests with 2 GB of RAM.

1 GB should be more than enough to import all but the very largest GEDCOM files. I have one 300 MB GEDCOM file that might be problematic for many programs, but the 100k INDI GEDCOM is just 38 MB. Even if Windows and background programs are using half a gigabyte already, and the program itself were to use some 30 MB to run, that would still leave thirteen times the file size of real RAM to work in.

Any excessive memory usage is noted in the remarks. The numbers are simply those shown by the Windows Task Manager, and are sometimes too low as actual usage may be more than Task Manager indicates.

measurement

The actual measurement is a time, expressed as a number of seconds. From that the import speed as the number of individuals per second or kilobytes per second can be derived.

Time measurements are done manually, so they may be off a bit, but generally, the times are so large that accuracy of the measurement is hardly a concern, but I do make an effort to get it down to the second. Test runs with smaller files, intermittent checks, progress bars and sometimes rough results from an earlier run help me to be present to note the clock time when the import finishes.

Some programs make the mistake of putting up dialog boxes during import. This has a well-deserved negative effect on the import time, just as it would have if you were to use the program yourself. In fact, because I made an effort to minimise such delays with speedy responses, the results shown here are probably better than what you will experience in practice.
Programs that make this user interface mistake include Legacy Family Tree 6 and TMG 7.

the test files

file1 MB GEDCOM100k INDI GEDCOM
exact size1.055.895 bytes38.799.393 bytes
individual records4.862100.067
family records1.70045.613
GEDCOM version5.55.5
character encodingANSIANSEL
programBASGEN 7.1a (1998)PAF 5.2.18.0 (2002)
bytes per INDI217,17387,73

Note that the larger file has more bytes per individual. The file simply contains more data per person, including more sources and comments, but also by longer identifiers. I added this line to highlight that some results in the tables below, such as that for Hereditree, which imports only half as many INDI per second for the larger file, yet nearly just as much bytes per second, are indeed correct.

tags

The PAF file contains various tags that extend the GEDCOM standard, most notable the _UID and _AKA tags. These are legal GEDCOM extensions, and the GEDCOM specification makes it clear that other program may ignore these.

The PAF file also contains an EMAIL tag. I would not mention it, where it not that EMAIL is not a GEDCOM 5.5. It is a GEDCOM 5.5.1 tag in a GEDCOM 5.5 file, so importing programs are allowed to complain about it. The only program that complained about it because it did not recognise the tag is TMG, but TMG also failed to recognise the CREM tag.

Program should report all import issues in the import log. Alas, several program disrespect your database so much that they think nothing of adding a comment to your database for each tag they do not recognise. These comments then show up in all reports and the GEDCOM export. An exception is TMG, which does not export the comments it added.

Chronological Individual Results

2006-12-20 GenoPro 2007

file1 MB GEDCOM100k INDI GEDCOM
time--
time in seconds--
INDI per second--
bytes per second--

When I tried to import a GEDCOM file of less than 10 MB, I saw memory usage increase up to 1024 MB (1 GB), at which point GenoPro reported out of memory.

By the way, this test back then was on a 1 GB system. I later repeated this test after upgrading to 2 GB of RAM, with the same result; GenoPro reports out of memory as soon as it uses 1024 MB.

This severely limits the maximum database GenoPro can handle. GenoPro simply cannot handle the 100k INDI file.

GenoPro’s GEDCOM output is full of illegal GEDCOM extensions, and the GEDCOM header contains a spelling error that makes it invalid; It should say 2 FORM LINEAGE-LINKED, but it actually says 2 FORM LINAGE-LINKED.

2007-05-30 Ancestral Quest 12

file1 MB GEDCOM100k INDI GEDCOM
time-52m25s
time in seconds-3145
INDI per second-31,82
bytes per second-12.336,85

Ancestral Quest 12 does not only support UTF-8, it even supports UTF-16 ("UNICODE" in the GEDCOM specification).
Unsurprisingly, considering their shared heritage, Ancestral Quest had no problem with PAF’s GEDCOM extensions at all, but actually supports them.

2007-06-27 Geves 1.1.39

file1 MB GEDCOM100k INDI GEDCOM
time--
time in seconds--
INDI per second--
bytes per second--

I tried importing royalfam.ged. Geves’ memory usage kept climbing, beyond 700 MB, on my 1 GB system. Some 35 minutes after starting the import of a mere 3.5 MB file, I had to kill the program.

2007-07-10 Family Tree Maker 2008 Beta (17.0.0.371)

file1 MB GEDCOM100k INDI GEDCOM
time2m15s 
time in seconds135 
INDI per second36,01 
bytes per second7.821,44 

FTM2008 uses "GenBridge" the direct import routines that Wholly Genes created for TMG. Trying to import a PAF file resulted in nothing but "unknown error".

Interestingly, FTM refuses to read anything but GEDCOM 5.5, and thus refuses to many GEDCOM files written by earlier versions of FTM! It also refuses to read FTW TEXT files, FTW’s own variation on GEDCOM files.

The quality of the GEDCOM export is disappointing. FTM does not support either ANSEL or UTF-8, and does not even get the GEDCOM header right.

2007-11-27 MyHeritage Family Tree Builder 2.0

file1 MB GEDCOM100k INDI GEDCOM
time14s1m47s
time in seconds14107s
INDI per second347,28935,21
bytes per second75.421,07362.611,15

GEDCOM import is pretty fast, but the program does not produce an import log without your prompting. When you do prompt it to write one, it turns out to be pretty useless.
FTB is one of the few program that bothers to report encoding errors, but FTB misreports its own failure to recognise a valid encoding as an error in the GEDCOM file. FTB also issues warnings for characters it cannot handle, but these warnings themselves read as if there is something wrong with the characters, and do not make it clear that the issue is an FTB limitation.

2007-12-12 WinFamily 7

file1 MB GEDCOM100k INDI GEDCOM
time22m02s-
time in seconds1322-
INDI per second3,68-
bytes per second773,72-

WinFamily 7’s GEDCOM was so slow that I did not even try to import the 100k INDI GEDCOM. An import speed of just a few individuals, and actually less than one kilobyte per second is truly pathetic, but real shocker is not even how slow WinFamily 7 is. The real shocker is how much slower it is than WinFamily 6.

WinFamily 6

file1 MB GEDCOM100k INDI GEDCOM
time4s-
time in seconds4-
INDI per second1215,50-
bytes per second263.973,75-

WinFamily 6 has the kind of performance you expect from a program already in its sixth version. On this small file, the import speed of about a quarter megabyte per second leads to an import time of just 3 or 4 seconds, it is hard to say exactly. I chose to use 4 because I was reviewing WinFamily 7 and did want to paint it worse than it is, but it is still 330½ times as slow as the preceding version.
WinFamily 6 even has features that WinFamily 7 completely lacks. While WinFamily 6 is one of the very few programs to actually support UTF-16, WinFamily 7 demands Microsoft .NET, yet does not even support UTF-8.

2007-12-24 WinGeno 1.0

WinGeno 1.0 is not a genealogy program but a genogram editor. It does not support GEDCOM.

2008-01-15 The Master Genealogist 7

file1 MB GEDCOM100k INDI GEDCOM
time-1h26m00s
time in seconds-5160
INDI per second-19,39
bytes per second-7.519,26

TMG does not support UTF-8, and its help file is no help. It provides no information, but directs you to a bulletin board post instead. That post recommends opening the GEDCOM file in NotePad, to save it as Windows ANSI and ignore the warning about loss of information! Wholly Genes actually recommends damaging your data to use TMG...

TMG’s import listing is incomplete, and TMG does not recognise the CREM tag. TMG adds CREM tag, and the unrecognised EMAIL, _AKA and _UID tags as comments to the database.

TMG 7’s import is slow, but faster and more reliable than TMG 6’s GEDCOM import, which produced many run-time errors. TMG offers direct import, but it is about four times as slow as GEDCOM import. TMG’s GEDCOM export suffers from some minor violations of the GEDCOM spec for DATE tags.

2008-02-28 Genea 1.2

file1 MB GEDCOM100k INDI GEDCOM
time
time in seconds
INDI per second00
bytes per second00

Genea 1.2 was the first version of Genea to claim GEDCOM support. Alas, all attempts to time a GEDCOM import or even merely export a small GEDCOM failed, partly because of a somewhat confusing user interface, but mostly because the program keeps crashing.

2008-03-15 LongFamilyHistory 1.2.5

file1 MB GEDCOM100k INDI GEDCOM
time--
time in seconds--
INDI per second--
bytes per second -

I tested this program with royalfam.ged. Import of 8753 individuals in 140 seconds is 62,5 individuals per second. Import of 3.579.808 bytes in 140 seconds is 24,97 KB per second.
The program does not support GEDCOM output.

2008-04-04 Aldfaer 4.0

file1 MB GEDCOM100k INDI GEDCOM
time-6m30s
time in seconds-390
INDI per second-256,58
bytes per second-99.485,62

Aldfaer adds comments for each _UID tag it encounters. Aldfaer 4.0 does not support the EMIG, IMMI or NATU tags. Aldfaer does not support the AFN (Ancestral File Number) or DSCR (description) tags either.

Aldfaer does not support UTF-8, and is confused by a Byte Order Mark (BOM). Aldfaer does not prompt for a submitter, and the GEDCOM files it export contain the illegal "SUBM Unknown" in the GEDCOM header. Strangely, Aldfaer supports name prefix, and will even auto-split names on import, but the GEDCOM files it creates do not use the SPFX tag. In fact, Aldfaer uses the NAME tag only and does not even use the GIVN and SURN tags.

2008-05-04 Hereditree 2008

file1 MB GEDCOM100k INDI GEDCOM
time6 m50s4h10m24s
time in seconds41015024
INDI per second11,866,66
bytes per second2575,352.582,2

Hereditree does not support ANSEL, and misinterprets it as ANSI without even a warning. There is no import log. During import of the 100k INDI GEDCOM, the Task Manager showed Hereditree memory usage climbing to 425 MB, and it remained that high when the import was done. Hereditree simply uses that much memory, and the database file is about the same size.

2008-05-07 Family Tree Maker 16 (16.0.350)

file1 MB GEDCOM100k INDI GEDCOM
time36s25m09s
time in seconds361.509
INDI per second135,0666,31
bytes per second29.330,4225.711,99

FTM16’s GEDCOM import is picky about date formats, cannot handle ANSEL, limits the length of names and confuses itself so much that it produces erroneous error messages. The import listing is close to useless because it only list line numbers and errors, not the GEDCOM line itself.

Update 2008-12-15: FTM 16 does support ANSEL, so the 100k INDI GEDCOM import times are not stricken through like they are for FTM 2008 and FTM 2009.

2008-05-07 Family Tree Maker 2008 (17.0.0.416)

file1 MB GEDCOM100k INDI GEDCOM
time1m50s2h31m11s
time in seconds1109.071
INDI per second44,2011,03
bytes per second9.599,454.277.30

The FTM 2008 GEDCOM import counts tags such as _ITALIC as errors, while these are perfectly legal GEDCOM extensions, and not errors at all. FTM labels correct dates as errors, because it does not support either the OR or the FROM .. TO construct. FTM 2008 does not support either ANSEL or UTF-8.

Update 2008-12-15: The 100K INDI GEDCOM import results are stricken through because FTM 2008 mangles ANSEL GEDCOM files on import.

2008-05-07 Family Tree Maker 2008 SP3 (17.0.0.965)

file1 MB GEDCOM100k INDI GEDCOM
time1m523h13m25s
time in seconds11211.605
INDI per second43,418,62
bytes per second9.427,633.343,33

Apart from speed differences and a slightly different import complete dialog box, FTM 2008 SP3’s GEDCOM import is just like FTM 2008’s GEDCOM import. In testing, FTM2008 SP3 turned out to be even slower than FTM2008.

Update 2008-12-15: The 100K INDI GEDCOM import results are stricken through because FTM 2008 mangles ANSEL GEDCOM files on import.

2008-05-04 Genea 1.4.1

file1 MB GEDCOM100k INDI GEDCOM
time30m55s-
time in seconds1855-
INDI per second2,62-
bytes per second569,22-

Genea is not just slow. While importing the 1 MB GEDCOM, Genea’s memory usage increased with 43 MB, and only a restarts brings the memory usage down again. Weirdly, although it claims all that memory to work in, during the entire import the hard disk is rattling incessantly. This GEDCOM import contains some major inefficiencies.

The excessively low speed and large memory hunger explains why I did not even bother to try the 100k INDI GEDCOM. If it works at all, it probably takes more than a day...

2008-05-13 Geni.com 1.0 (estimated performance)

file1 MB GEDCOM100k INDI GEDCOM
time1h57m15s-
time in seconds7035-
INDI per second0,69-
bytes per second150,09-

I measured a GEDCOM export time of 1 hour and 56 minutes for a three-person tree, but because Geni.com does not allow deleting uploaded trees, I did not perform a GEDCOM import test. These numbers are an estimate based on the import time of 2 hours that Geni user Scott Hibbard reported on the Geni.com forum for a GEDCOM file with 4976 individuals in it.

2008-05-20 Heredis 10

file1 MB GEDCOM100k INDI GEDCOM
time2m082h58m32s
time in seconds12810.712
INDI per second37,989,34
bytes per second8.249,183.622,05

Heredis seems about as slow as Family Tree Maker 2008, but that may be because it writes massive amounts of error messages to its import log. The log provides error message, line number and line, but the messages are unclear and Heredis is clearly confused, reporting errors where there are none.
Heredis’ support for sources and repositories is broken, and the GEDCOM import and export is defective accordingly. Heredis writes a city code between the place name and the municipality, virtually ensuring that no other program can read its GEDCOM files.

2008-05-22 PAF 5.2.18.0

file1 MB GEDCOM100k INDI GEDCOM
time11s3m44s
time in seconds11224
INDI per second442,004.464,58
bytes per second95.990,45177.675,86

PAF has no trouble importing the 100k INDI GEDCOM. It is a PAF GEDCOM and imports without any error at a satisfying speed. PAF has many complaints about the 1 MB GEDCOM; PAF creates a log file that is larger than the GEDCOM file itself. Writing 6268 errors slows the import down. Upon examination, it turns out that PAF not only erroneous produces errors for the perfectly fine REFN.TYPE tag, but even complains a bout a TYPE tag inside an INDI records, while it actually is a TYPE tag inside a REFN record inside an INDI record.

2008-05-22 Legacy Family Tree 6.0.0.190

file1 MB GEDCOM100k INDI GEDCOM
time1m30s49m35s
time in seconds902975
INDI per second54,0233,64
bytes per second11.732,1713.041,81

Legacy makes the user interface mistake of popping up messageboxes during import. All you can do is OK these, but until you do, the import is stalled. Even worse, those messages are missing from the import log. The import ends with a messagebox that shows GEDCOM statistics, but no import time. The statistics are not in the import log. That log is mediocre; it does not list line numbers or the lines themselves, but it does not record identifiers, error messages and the problematic part of the line.

While PAF complained about the REFN.TYPE in INDI records, and was okay with REFN.TYPE in FAM records, Legacy is okay with the REFN tags in the INDI records, but complains about the REFN.TYPE tags in the FAM records.

Legacy does not respect your database, but bluntly adds notes for each tags it does not recognise. In response to the REFN.FTYP tags, Legacy adds "Reference:0" as a note to all family records, without asking permission and without any way to remove them.

The resulting Legacy database is close to half a gigabyte, That’s ridiculously large.

2008-05-22 RootsMagic 3.2.5

file1 MB GEDCOM100k INDI GEDCOM
time16s5m21s
time in seconds16321
INDI per second303,88311,74
bytes per second65.993,44120.870,38

RootsMagic puts up a needless dialog box after you’ve started the import. It asks whether a source should be added for all records from this file, a question it could and should have asked before starting the import.

The quality of the import log is low. It shows line number and actual lines, but the error messages are close to useless. It produces "UNKNOWN INFO (LINE 152)" for a line such as "4 DATE 22 Sep 1998".

RootsMagic import times are good. It is one of the few modern programs that comes close to PAF’s performance. 

2008-05-24 Legacy Charting 7.0.071.394 (First Pre-release)

file1 MB GEDCOM100k INDI GEDCOM
time⅓s12s
time in seconds12
INDI per second12.1558.338,92
bytes per second3.167.685,003.233.282,75

Legacy Charting’s GEDCOM import is fast, but Legacy Charting does not need to save a database to disk, does not produce any errors, warnings or any kind of import log.

2008-05-24 GENViewer Lite 1.15

file1 MB GEDCOM100k INDI GEDCOM
time0,203s2,344s
time in seconds0,203s2,344
INDI per second23.950,7442.690,70
bytes per second5.201.453,20216.552.642,06

MudCreek GENViewer Lite has the fastest GEDCOM reader I know about. GENViewer Lite is a just a data viewer, not an editor, does not write the database to disk, does not report errors and does not produce an import log.

GENViewer does report its own import speed, and seems to do so accurately using a high-resolution timer.

2008-05-25 GedStar Basic 5.2

file1 MB GEDCOM100k INDI GEDCOM
time4s29m35s
time in seconds41.775
INDI per second1.215,5056,38
bytes per second263.973,7521.858,81

GedStar Basic 5.2 performs is good for small files, but drops dramatically for larger files. GedStar Basic shows a detailed progress dialog box.

2008-05-25 GedStar Pro 3.2

file1 MB GEDCOM100k INDI GEDCOM
time4s16m53s
time in seconds41.013
INDI per second1.215,5098,78
bytes per second263.973,7538.301,47

GedStar Pro is very similar to GedStar Basic. It does better on large files, but if GHCS Software bothered to speed up the slow cross-referencing phase of the import, it could be significantly faster than it is now.

2008-05-25 GedWise 6.2

file1 MB GEDCOM100k INDI GEDCOM
time7s10m03s
time in seconds7603
INDI per second694,57165,95
bytes per second150.842,1464.343,94

GedWise shows detailed statistic while importing and the total import time in second, probably rounded down.

2008-06-26 Legacy 7.0

Legacy 7.0.0.25 (Pre-Release)

file1 MB GEDCOM100k INDI GEDCOM
time1m57s1h04m06s
time in seconds1173.846
INDI per second41,5626,02
bytes per second9.024,7410.088,25

Legacy 7.0.0.45 (Release)

file1 MB GEDCOM100k INDI GEDCOM
time1m38s1h01m05s
time in seconds983.665
INDI per second49,6127,30
bytes per second10.774,4410.586,46

Millennia developed a fast import for Legacy Charting, but Legacy 7’s GEDCOM does not improve upon Legacy 6. It is the same user interface mess, with its ridiculous pause and annoying pop-up messages. Technically, the poor import log and erroneous error messages continue to disappoint. Somehow, Legacy 7 is slower than Legacy 6.

2008-06-28 Map My Ancestors 1.0

Map My Ancestors (MMA) failed to read both the 1 MB GEDCOM and the 100k INDI GEDCOM. Its error message is uninformative, and there is no log file. For a file it did load, the numbers are not good

It imported a 9.490.735 bytes file containing 34.311 individuals in 16.337 families in 39m12s. That is 2352 seconds, so that is an import speed of 14,59 individuals per seconds and 4.035,18 bytes per second.

That is a lower speed than TMG 7 has for the 100k GEDCOM already. However, if we include the time MMA takes to resolve locations to map coordinates, the import time is 2h26m30, that is 8790.seconds, and then the import speed is just 3,90 INID per second or 1.079,72 bytes per second. That pathetic performance puts MMA firmly below TMG, FTM 2008, Heredis and Hereditree.

2008-08-01 Relatives 1.0

demo (no save)

file1 MB GEDCOM100k INDI GEDCOM
time3s50s
time in seconds3 50
INDI per second1.620,66 2.001,34
bytes per second351.965,00 775.987.86

full program (with save)


file1 MB GEDCOM100k INDI GEDCOM
time15s7m00s
time in seconds15 420s
INDI per second324,13 238,25
bytes per second70.393,00 92.379,51

There is a lot wrong with this initial release, but the GEDCOM import is not it. The GEDCOM import is fast, and the error and warning messages are accurate. The demo’s import speed of some two thousand INDI per second is nothing short of impressive. The 50 seconds of the 100k INDI GEDCOM includes the 25 seconds that Relatives needs to redraw the screen, and if that is brought down to just a few seconds, the Relatives demo would boast an import speed well above 1 MB per second.

The demo speed does not include writing the database to a file, and the full version is so slow writing files that it practically negates the speed advantage of the import proper.

2008-08-14 Relatives 1.1

demo (no save)

file1 MB GEDCOM100k INDI GEDCOM
time3s50s
time in seconds3 50
INDI per second1.620,66 2.001,34
bytes per second351.965,00 775.987.86

full program (with save)


file1 MB GEDCOM100k INDI GEDCOM
time15s7m00s
time in seconds15 420s
INDI per second324,13 238,25
bytes per second70.393,00 92.379,51

Relatives 1.1. saves its files faster and that shows in the import times.

2008-09-28 FamilyTreeFactory 6.0.1.1

file1 MB GEDCOM100k INDI GEDCOM
time25s-
time in seconds25 -
INDI per second194,48 -
bytes per second42.235,80 -

FamilyTreeFactory produces detailed import logs, but only writes the log when the import is done; if it crashes, there will be no log at all. The GEDCOM import is very flexible and pretty fast on the small file, and it can handle medium sized files, but it is so memory hungry that it cannot handle large files. It aborted the import of the 100k INDI GEDCOM because it tripped over its own arbitrary limit of 25 children per family.

2008-10-15 It’s Our Tree Home Edition 1.0

file1 MB GEDCOM100k INDI GEDCOM
time30s38m15s
time in seconds30 2.295
INDI per second162,07 43,60
bytes per second35.186,50 16.906,05

It’s Our Tree Home Edition 1.0 does not have a native data format. It supports GEDCOM 5.5.1, GedML and GEDCOM XML (GEDCOM 6). It is a true Unicode program that writes UTF-8 encoded GEDCOM 5.5.1 files. It will read ANSEL files, but not write them, and it does not produce an import logs.

2008-11-08 LongFamilyHistory 2.0.0

file1 MB GEDCOM100k INDI GEDCOM
time4s-
time in seconds4 -
INDI per second1.215,50 -
bytes per second263.973,75 -

LongFamilyHistory (LFH) seemed to complete the import of the 100k INDI GEDCOM file in 1h28m13s (5293s), which would place its poor performance in between TMG 7 and FTM 2008, but because LFH failed to display the file, I consider the import failed. A test with the medium size royalfam.ged file did show that the import speed has improved since version 1. A bigger issue than the poor performance is the lack of an import log.

2008-11-22 Family Historian 3.1.2

file1 MB GEDCOM100k INDI GEDCOM
time5s22s
time in seconds5 22
INDI per second972,4 4.548,50
bytes per second211.179,00 1.763.608,77

Family Historian’s import is fast, but hardly qualifies as a real import. It seems to simply copy the file and then slap a Family Historian header on it.

Family Historian is code-page-based design that supports Windows ANSI only. Its import does not handle character encodings and does not create an import log either. There is only a post-import report. Family Historian does not support ANSEL or UTF-8, yet pretends to import such GEDCOM files, mangling them in the process. Family Historian does not even handle ASCII GEDCOM files correctly. Because of this mangling, I consider the import of the 100k INDI GEDCOM to have failed.

2008-12-06 MyBlood 1.0 Alpha 1

file1 MB GEDCOM100k INDI GEDCOM
time1m15s 1h06m06s
time in seconds75 3.966
INDI per second64,83 25,23
bytes per second14.078,60 9.783,00

The import is speed is not good, and the entire program is slow. The program does not seem to support anything but UTF-8, so I consider both imports (ANSI and ANSEL respectively) to have failed.
The GEDCOM export omits the Byte Order Mark and does not even write a correct GEDCOM header.

2008-12-15 Family Tree Maker 2009 (18.0.0.95)

file1 MB GEDCOM100k INDI GEDCOM
time55s2h18m01s
time in seconds55 8.281
INDI per second88,4012,08
bytes per second19.198,09 4.685,35

Family Tree Maker (FTM) 2009 shows statistics when the import is done. Like the previous version, the actual import time is longer than FTM reports. FTM 2009 is about twice as fast (well, half as slow) as FTM 2008 SP3.
The import log does not longer complain about perfectly PAF-specific extensions like FTM 2008 did, but does highlight that FTM 2009 is still inflexible regarding date formats. The import log is reasonable, except for the fact that several ostensible errors are really not errors at all, but FTM limitations.

The GEDCOM export is performance is memory hungry, and FTM still does not write a correct GEDCOM header. The GEDCOM export does not offer a choice of character encodings, but exports to "ANSI" only. The import does not support anything but ANSI either, and FTM will mangle GEDCOM files using other encodings without even a warning. That implies that the import of the 100k INDI database failed, hence the strike-through.

2009-03-25 RootsMagic 4 (4.0.1.0)

RootsMagic 4.0.1.0 (old computer, Windows XP)

file1 MB GEDCOM100k INDI GEDCOM
time6s3m46s
time in seconds6226s
INDI per second810,33442,77
bytes per second175.982,50171.678,73

RootsMagic 4 GEDCOM import is blazing fast. RootsMagic 4 is faster than RootsMagic 3, but seems functionally unchanged. The import log is as lousy as before.
RootsMagic 3 supports import of ANSEL GEDCOM files, but RootsMagic 4 imports them as if they were ANSI GEDCOM files, mangling the data That’s in them. Because of that, I consider the import of the 100k INDI GEDCOM to have failed.

2009-04-02 RootsMagic 4 with ANSEL patch (4.0.1.1)

RootsMagic 4.0.1.1 (old computer, Windows XP)

file1 MB GEDCOM100k INDI GEDCOM
time6s4m56s
time in seconds6296
INDI per second810,33338,06
bytes per second175.982,50131.079,03

A RootsMagic patch released 2009 Mar 30 upgrades the RootsMagic version to 4.0.1.1. Version 4.0.1.1 does import ANSEL GEDCOM as ANSEL (not ANSI). The import is a bit slower now, but still blazing fast. RootsMagic 4 is still a bit faster than RootsMagic 3.

2009-09-11 Embla Family Treasures 8.0.30

file1 MB GEDCOM100k INDI GEDCOM
time23m31s
time in seconds1.411
INDI per second3,450
bytes per second748,330

The Embla Family Treasures import is needlessly convoluted and spectacularly slow. The import of the large GEDCOM failed, but measured speed were so low that it makes more sense to express them in seconds per individual than in individuals per second.
Embla Family Treasures does not support UTF-8. It fails to recognise UTF-8 GEDCOM files with a Byte Order Mark as GEDCOM. When presented with an UTF-8 GEDCOM files without a Byte Order Mark, it fails to warn you about its limitation, but mangles the import instead.

The GEDCOM output contains multiple errors so basic, that it is clear that Embla never bothered to test it all. The UNICODE output is not UTF-16 at all, but gibberish. The ANSEL output is ANSEL, but its GEDCOM header contains illegal and erroneous tags.

2009-11-23 Daub Ages! 1.53

file1 MB GEDCOM100k INDI GEDCOM
time10s55s
time in seconds1055
INDI per second486,201.819,40
bytes per second105.589,50705.443,51

Daub Ages! uses Ages! GEDCOM as its native format. It imports and exports fasts, does not create an import log file, but does perform consistency checks upon import. Daub Ages! is an ANSI-based application, so character set support is limited. Weirdly, it does support ANSEL and UTF-8 import, but does not support ANSEL and UTF-8 export. After importing ANSEL or UTF-8, export to Windows ANSI works fine, but when you edit your database, fields look mangled.

2009-11-27 MyBlood 1.0

file1 MB GEDCOM100k INDI GEDCOM
time1m34s 1h15m44s
time in seconds94 4.544
INDI per second49,81 22,02
bytes per second11.232,93 8.538,60

MyBlood is a Unicode-based application that supports and defaults to UTF-8. It supports ANSEL on import and thus succeeded in importing the 100k INDI GEDCOM, but it does not support ANSEL on export. MyBlood 1.0 writes a correct GEDCOM header, but does not use CONC or CONT when it should, and has limited supported for NOTE fields.

2009-12-01 Behold 0.98.9.91 (code-page)

file1 MB GEDCOM100k INDI GEDCOM
time4,673s 2m54s
time in seconds4,673 174
INDI per second1040,45 575,10
bytes per second225.956,56 222.985,02

Behold 0.98.9.91 is the last code-page version of Behold. Behold should become a genealogy editor, but this version is still a GEDCOM viewer.
Behold 0.98.9.91 does include support for ANSEL and UTF-8, not for UTF-16. Behold does not produce an import log file, only a post-import report. It is remarkably memory-hungry, requiring more than fifty times the size of the GEDCOM file.

2009-12-01 Behold 0.99.2 (Unicode)

file1 MB GEDCOM100k INDI GEDCOM
time0,824s 30s
time in seconds0,824 30
INDI per second5.900,49 1.293.313,10
bytes per second1.281.425,97 3.335,57

Behold 0.99.2 (2009-12-01) is the first Unicode version of Behold, but still a GEDCOM viewer, not a genealogy editor. Behold 0.99.2 is about six times as fast and four times as memory efficient as the previous version, but still requires about twelve times the file size in memory. The GEDCOM load supports ANSEL, UTF-8 and UTF-16. Behold still does not produce an import log file, but only a post-import report.

2009-12-22 Family Tree Builder 3.0 and 4.0

version 3.0

file1 MB GEDCOM100k INDI GEDCOM
time15s 3m27s
time in seconds15 207
INDI per second324,13 483,15
bytes per second70.393,00 187.436,69

version 4.0

file1 MB GEDCOM100k INDI GEDCOM
time15s 5m50s
time in seconds15 350
INDI per second324,13 285,91
bytes per second70.393,00 110.855,41

The GEDCOM import in Family Tree Builder 3.0 and 4.0 seems unchanged from that in Family Tree Builder 2.0. That makes the variation in import speed odd, but no matter, it is fast enough.

Family Tree Builder 4.0 is still a codepage application. It supports import from ANSEL and UTF-8, but only exports to illegal ANSI GEDCOM. It does not support import from ASCII and does not recognise UTF-16. Import shortcomings and defects reported for version 2.0 have not been fixed.

2010-02-04 Family ChArtist 1.0

file1 MB GEDCOM100k INDI GEDCOM
time1s60s
time in seconds160
INDI per second4.862,00 1.667,78
bytes per second1.055.895,00 646.656,55

Family ChArtist 1.0 is a Flash app. It supports UTF-8 and UTF-16, but lacks support for ANSEL.

Collected 1MB GEDCOM Overview

dateprogramversion timeseconds INDI / s bytes / s
2008-05-24GENViewer Lite1.15 0,203s0,203 23.950,745.201.453,20
2008-05-24Legacy Charting7.0.071.394 ⅓s 12.155,003.167.685,00
2009-11-12Behold0.99.2 0,824s0,824 5.900,49 1.281.425,97
2010-02-24Family ChArtist1.0 1s1 4.862,001.055.895,00
2008-08-01Relatives demo (no save)1.0 3s3 1.620,66351.965,00
2008-08-01Relatives demo (no save)1.1 3s3 1.620,66351.965,00
2008-08-14Relatives full (with save)1.1 4s4 1.215,50263.973,75
2007-12-12WinFamily6 4s4 1.215,50263.973,75
2005-05-25GedStar Pro3.2 4s4 1.215,50263.973,75
2008-05-25GedStar Basic5.2 4s4 1.215,50263.973,75
2008-11-08LongFamilyHistory2.0.0 4s4 1.215,50263.973,75
2009-12-01Behold0.98.9.91 4,673s4,673 1.040,45225.956,56
2008-11-22Family Historian3.1.2 5s5 972,4211.179,00
2009-03-25RootsMagic4.0.1.0 6s6 810,33175.982,50
2009-04-02RootsMagic4.0.1.1 6s6 810,33175.982,50
2008-05-25GedWise6.2 7s7 694,57150.842,14
2009-11-23Daub Ages!1.53 10s10 486,20105.589,50
2008-05-22PAF5.2.18.0 11s11 442,0095.990,45
2007-11-27Family Tree Builder2.0 14s14 347,2875.421,07
2008-08-01Relatives full (with save)1.0 15s15 324,1370.393,00
2009-12-22Family Tree Builder3.0 15s15 324,1370.393,00
2009-12-22Family Tree Builder4.0 15s15 324,1370.393,00
2008-05-22RootsMagic3.2.5 16s16 303,8865.993,44
2008-04-04Aldfaer4.0      
2008-09-28FamilyTreeFactory6..0.1.125s 25194,4842.345,80
2008-10-15It’s Our Tree Home Edition1.030s 30162,0735.186,50
2008-05-07Family Tree Maker 1616.0.35036s 36135,0629.330,42
2007-05-30Ancestral Quest12      
2008-12-05Family Tree Maker 200918.0.0.9555s 5588,40 
2008-05-22Legacy Family Tree6.0.0.1901m30s 9054,0211.732,17
2008-10-15The Master Genealogist7.0     
2009-11-26MyBlood1.094s 9449,8111.232,93
2008-06-26Legacy Family Tree7.0.0.45 1m38s 9849,6110.774,44
2008-05-07Family Tree Maker 200817.0.0.416 1m50s 11044,209.599,45
2008-05-07Family Tree Maker 2008 SP317.0.0.965 1m52s 11243,419.427,63
2008-05-20Heredis10 2m08128 37,988.249,18
2007-07-10Family Tree Maker 2008 Beta17.0.0.371 2m15s135 36,017.821,44
2008-04-04Hereditree2008.0401 6m50s410 11,862575,35
2008-06-28Map My Ancestors1.0- ---
2008-03-15LongFamilyHistory1.2.5     
2007-12-12WinFamily722m02s 1.3223,68773,72
2009-09-11Embla Family Treasures8.0.3023m31s 1.4113,46748,33
2008-05-12Genea1.4.130m55s 1.8552,62569,22
2008-05-13Geni.com1.01h57m15s 7.0350,69150,09
        
2008-12-06MyBlood 1.0 Alpha 1 1m15s 75 64,83 14.078,60
        
2007-06-27Geves1.1.39     
2006-12-20GenoPro 20072.0     
2008-02-28Genea1.2 0 0
2007-12-24WinGenoN/AN/A N/AN/AN/A
        

Collected 100k INDI GEDCOM Overview

 

dateprogramversion timeseconds INDI / s bytes / s
2008-05-24GENViewer Lite1.15 2,344s2,344 42.690,7016.552.642,06
2008-05-24Legacy Charting7.0.071.394 12s12 8.338,923.233.282,75
2009-12-01Behold0.99.2 30s30 3.335,571.293.313,10
2008-08-01Relatives demo (no save)1.0 50s50 2.001,34775.987.86
2008-08-01Relatives demo (no save)1.1 50s50 2.001,34775.987.86
2008-08-14Relatives full (with save)1.1 55s55 1.819,40705.443,51
2009-11-23Daub Ages!1.53 55s55 1.819,40705.443,51
2007-11-27Family Tree Builder2.0 1m47s107 935,21362.611,15
2009-12-01Behold0.98.9.91 2m54s174 575,10222.985,02
2009-12-22Family Tree Builder3.0 3m27s207 483,15187.436,69
2008-05-22PAF5.2.18.0 3m44s224 446,72177.675,86
2009-04-02RootsMagic4.0.1.1 4m56s296 338,06131.079,03
2008-05-22RootsMagic3.2.5 5m21s321 311,74120.870,38
2009-12-22Family Tree Builder4.0 5m50350 285,91110.855,41
2008-04-04Aldfaer4.0 6m30s390 256,5899.485,62
2008-08-01Relatives full (with save)1.07m00s 350238,2592.379,51
2008-05-28GedWise6.210m03 603165,9564.343,94
2008-05-25GedStar Pro3.216m53s 1.01398,7838.301,47
2008-05-07Family Tree Maker 1616.0.35025m09s 1.50966,3125.711,99
2008-05-25GedStar Basic5.229m35s 1.77556,3821.858,81
2008-10-15It’s Our Tree Home Edition1.038m15s 2.29543,6016.906,05
2008-05-22Legacy Family Tree6.0.0.19049m35s 2.97533,6413.041,81
2007-05-30Ancestral Quest12 52m25s3.145 31,8212.336,85
2007-06-26Legacy Family Tree7.0.0.451h01m05s 3.66527,3010.586,46
2009-11-27MyBlood1.01h15m44s 4.54422,028.538,60
2008-10-15The Master Genealogist7.01h26m00s 5.16019,397.519,26
2008-05-20Heredis10 2h58m32s10.712 9,343.622,05
2008-04-04Hereditree2008.0401 4h10m24s15.024 6,662.582,49
          
2008-11-22Family Historian3.1.2 22s 22 4.548,50 1.763.608,77
2010-02-24Family ChArtist1.0 60s 60 1.667,78646.656,55
2009-03-25RootsMagic4.0.1.0 3m46s 226s 442,77171.678,73
2008-12-06MyBlood10 Alpha 1 1h06m06s 3.966 25,23 9.783,00
2008-12-15Family Tree Maker 200918.0.0.95 2h18m01s 8.281 12,084.685,35
2008-05-07Family Tree Maker 200817.0.0.416 2h31m11s 9.071 11,034.277.30
2008-05-07Family Tree Maker 2008 SP317.0.0.965 3h13m25s 11.605 8,623.343,33
2007-07-10Family Tree Maker 2008 Beta17.0.0.371 ?? ??
        
2008-11-08LongFamilyHistory2.0.0- ---
2008-09-28FamilyTreeFactory6.0.1.1- ---
2008-06-28Map My Ancestors1.0- ---
2008-03-15LongFamilyHistory1.2.5- ---
2007-12-12WinFamily7- ---
2008-05-12Genea1.4.1- ---
2008-05-13Geni.com1.0- ---
2007-06-27Geves1.1.39- ---
2006-12-20GenoPro 20072.0- ---
2009-09-11Embla Family Treasures8.0.30 0 0
2008-02-28Genea1.2 0 0
2007-12-12WinFamily6 N/AN/A N/AN/A
2007-12-24WinGenoN/AN/A N/AN/AN/A
        

updates

There have been many updates since I first created this file. These include several performance tests I did to fill out the table. You can either simply browse through the chronological overview, or use the dates in the final tables to quickly find some notes on a particular program. Links to the individual reviews and performance tests are below.

Late in 2008 I started to mark imports that do not respect file encoding as failed and strike through the import time to indicate their failure. I have since placed such results below the others ones in the overview. However, the placement of other programs has not been reviewed and updated (yet).
Updated for FTM; FTM 16 supports ANSEL, FTM 2008 and FTM 2009 do not.

links

individual reviews

combined speed measurements