Changes

Jump to: navigation, search

Gramps Performance

No change in size, 22:48, 21 January 2013
m
Gramps
Comparison of performance on large datasets between different GRAMPS Gramps versions
==Performance tests==
It is important that GRAMPS Gramps performs well on datasets in the 10k to 30k range. A good benchmark is to test GRAMPS Gramps on a 100k range dataset, and keep track of performance with every new version.
Furthermore, this page can serve as proof to users that the present version of GRAMPS Gramps is '''not slow'''. From version 2.2.5 onwards, special attention will be given to performance, so that it does not deteriorate due to changes.
If you want to work with a large database, read [[Tips for large databases]].
==General setup==
Comparison should be with equal hardware, and on the same datasets to be fair. Optimal representation may be chosen, so for GRAMPSGramps, tests are done in the native database format, called GRAMPS GRDB format.
Should somebody want to publish results of commercial software under windows, this is allowed, but should be fair: same hardware and dataset, so test on a dual-boot machine, and use the internal format of the program.
'''FAQ'''
* ''My computer hangs on open, eating memory?'' These are LARGE datasets, so do NOT open them directly. For GRAMPS Gramps open them as follows: create a new Family Tree. Open it and go to the import menu and import the dataset.
* ''What is tar.bz?'' This is a compression format. You must uncompress the file before importing it
* ''Can you provide the GEDCOM?'' No. Offering GEDCOM has the danger of attracting to much traffic to this site. If you need GEDCOM, you should install GRAMPSGramps, import the dataset, and then choose "Export to GEDCOM".
* ''What is in these files?'' See summary at the bottom of this page.
|}
(*) clean start means computer restart (so also python methods/modules must be loaded and started). Non clean means you have opened GRAMPS Gramps with .grdb file before, and open it again. Parts will be still in memory and access will be faster, as well as python being in memory.
=== Performance results ===
General remark: tests are done with in GRAMPS Gramps preferences: '''transactions enabled''', unless indicated otherwise with '''notrans'''. This gives a performance boost. ''For safety: only change this setting on an empty database -- you are warned!''
{| {{prettytable}}
|-
!Comp !! GRAMPS Gramps !! data !! T01 !! T02
|-
|H03 ||bgcolor="#ffa0a0"| 2.2.4 notrans || d01 (xml)||bgcolor="#ffa0a0"| 2h || 542.6MB (v11)
{| {{prettytable}}
|-
!Comp !! data !! GRAMPS Gramps !! T03 !! T04 !! T05 !! T06 !! T07 !! T08 !! result
|-
|H02 || d01 ||bgcolor="#ffa0a0"| 2.2.4 || T03 = 4m17s || T04 = ? || T05 = ?/? || T06 = ? || T07 = ? || T08 = ||bgcolor="#ffa0a0"|
One can fine tune some things to obtain better results. An overview.
See if GRAMPS Gramps can pass this:
* [http://www.tamurajones.net/TheConfuciusChallenge.xhtml The Confucius Challenge]
** [http://www.tamurajones.net/ConfuciusCascade.xhtml Confucius Cascade] a real-world test based on consisting of increasingly gigantic GEDCOMs, tough time limits.

Navigation menu