I’ve done enough improvements to at least get Behold to have acceptable performance for most GEDCOMs. The fact that I was loading the entire file into Richview was the main problem. Now that Behold only loads the viewing area and a small buffer into Richview, it’s a lot faster and uses much less memory.
I have a 24 MB GEDCOM with 100,000 people and a million lines that I like to use for my benchmark tests. Here’s what happened:
In the last alpha version, it took 116 seconds to load and ate up 994 MB of RAM.
The upcoming beta version takes 15 seconds to load and 230 MB of RAM.
That’s an 87% improvement in speed and 77% improvement in memory use.
In addition, certain operations that were slow before, such as resizing the window that took 25 seconds to complete, now happen instantly.
By comparison, the fastest program alive: GenViewer Lite takes just under a second to load this file, and uses 55 MB of RAM. These values will be hard for Behold to ever reach, because GenViewer is only a viewer, whereas Behold is loading the data so it can be edited.
But the current set of improvements should make Behold among the fastest programs, and eliminate the major performance problems for large files that Behold’s alpha has had. I have to thank Tamura Jones for persistently nagging me about this. I apologise that it has taken so long. I hope you’ll be pleased with the performance of Behold when you try the beta.
And it will rate right up there with the top programs speed-wise,* loading at 6500 INDI’s per second on my computer. Comparing the GenViewer loading speed that Tamura reports, it seems that Tamura’s testing computer was only 40% as fast as mine, so Behold should place at about 2600 INDI’s per second on Tamura’s analysis.
I know there are some major data structure and processing inefficiencies that are still with Behold. I did testing back in November and found I was able to get Behold to load data in times approaching that of GenViewer. To retain all of Behold’s functionality, I won’t be able to get all those gains. But in time, I expect that I’ll be able to get an additional 3 times speedup (about the speed of Legacy Charting) with half the memory use (about 5 KB per INDI).
This time, Tamura, I hope I won’t disappoint* this time.
* Note: Internet Explorer cannot view Tamura’s xhtml pages. Try a different browser.