Note: This website is archived. For up-to-date information about D projects and development, please visit wiki.dlang.org.

PyDict and RandAA benchmarks

Benchmarks are run two ways: With GC disabled (to see if the insertions are bottlenecking on GC) and with GC enabled (to mirror real-world use). The current benchmark was pulled from the PyDict implementation. It consists of 10,000,000 insertions and 10,000,000 lookups of strings, but will probably be made more comprehensive if this project attracts sufficient interest. So far we have the following timings on dsimcha's box (for now the standard until someone comes up with something better):

GC Disabled:

Builtin:
Start Benchmark.
1 x 10000000 iterations
inserts:  392865/s (25.454000s)
lookups: 9699321/s (1.031000s)

RandAA:
Start Benchmark.
1 x 10000000 iterations
inserts:  2630194/s (3.802000s)
lookups: 6788866/s (1.473000s)

PyDict:
Start Benchmark.
1 x 10000000 iterations
inserts:  2019793/s (4.951000s)
lookups: 4058441/s (2.464000s)

GC Enabled:

Builtin:
Start Benchmark.
1 x 10000000 iterations
inserts:  63739/s (156.888000s)
lookups: 9652509/s (1.036000s)

RandAA:
Start Benchmark.
1 x 10000000 iterations
inserts:  399488/s (25.032000s)
lookups: 7037297/s (1.421000s)

PyDict:
Start Benchmark.
1 x 10000000 iterations
inserts:  390396/s (25.615000s)
lookups: 3524850/s (2.837000s)