A friend gave me their very large GEDCOM to try with Behold. It is 24 MB in size and has 94,086 individuals in it. I tried in on a Pentium 1.8 GHz with 640 MB RAM running Windows XP. Behold was barely able to load it. It used up the 640 MB of RAM and 1400 MB of Swap file after about 2 minutes and then the computer spent another 6 minutes doing a lot of extra paging, but managed to load it all after 8 minutes total. Once loaded, some things worked fast, such as scrolling through the file or using hyperlinks to get to a new place, but some things worked very slowly such as resizing the window or closing the application. I’ve definitely got some major tuning to do with regards to large files. But I was very pleased at how well it handled that mass of data once it was loaded. And if desired, I could have printed the Everything Report for that data file. It would only have taken 11,494 pages to print, and at 20 pages a minute, would have taken about 10 hours. Obviously, there are some files are just not meant to be printed in their entirety.
My ideas for speeding up Behold will involve implementing Virtual Treeview to replace ElTree that is part of LMD Elpack. The latter uses a larger memory footprint and is not as well optimized for speed. I’ll also implement virtual capabilities so that the tree data can be on disk rather than in memory. In addition, I may be able to use VT for my other data structures that point to the GEDCOM data. In this way, I might be able to reduce memory requirements of Behold by up to 60%, and maybe even more. Meanwhile, the amount of RAM on computers is growing, so it should be possible in the not too distant future for Behold to run very large programs. Getting Richview to handle very large files may be the toughest task, but I’ve got a few ideas for that as well. That work is planned for Version 1.1, March 2006.