LumoSQL Benchmarking

Benchmark Database Downloads

The following are SQLite databases containing the results of runs from LumoSQL “make benchmark”, documented in the README section speed tests/benchmarking. In due course a system is needed to collect large numbers of these and analyse them.

Benchmark Comments File
Benchmark 1 Faster desktop; size dimension 10; SQLite 3.7.17 and 3.8.0 benchmark1 2020-11-07
Benchmark 2 Slower laptop; size dimension 10; SQLite 3.7.17 and 3.8.0 benchmark2 2020-11-07

Example Using benchmark1.sqlite

The benchmark-summary command interprets benchmark databases:

$ tool/benchmark-summary

Usage: tool/benchmark-summary PATH_TO_SQLITE3 DATABASE [RUN_ID]…

To list all the runs in a database:

$ sh tool/benchmark-summary sqlite3 ./benchmark1.sqlite
RUN_ID                                                           TARGET                         DATE/TIME               DURATION
F76E5581492D927BD30D191748167BD7D154B26BBF10724B122C57F31EA186B2 3.7.17++datasize-10            2020-11-06 19:50:56    19384.820
0FBD5C7E6CA05F84B3B4245E6666C4C1DA78BA785E3CFF8ABCD89172AE564B86 3.7.17+lmdb-0.9.26+datasize-10 2020-11-07 01:14:18    15121.967
4E54C7849573CB238F6B0A2211BF32C4EC08AC321AB4060AC02299C247C8312A 3.8.0+lmdb-0.9.26              2020-11-07 16:36:12      144.534

To compare two particular runs from the list:

$ sh tool/benchmark-summary sqlite3 benchmark1.sqlite F76E5581492D927BD30D191748167BD7D154B26BBF10724B122C57F31EA186B2 0FBD5C7E6CA05F84B3B4245E6666C4C1DA78BA785E3CFF8ABCD89172AE564B86
Column 1:
Benchmark: sqlite 3.7.17
   (3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668)
Ran at 2020-11-06 19:50:56

Column 2:
Benchmark: sqlite 3.7.17 with lmdb 0.9.26
   (3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668 lmdb 0.9.26 20403b7b3818fdddb11288245061b31a36066472)
Ran at 2020-11-07 01:14:18

----------TIME---------
          1           2 TEST NAME
    124.358      31.028    1 10000 INSERTs
      0.930    1325.273    2 250000 INSERTs in a transaction
      4.425       3.033    3 100 SELECTs without an index
     10.675       9.644    4 100 SELECTs on a string comparison
    209.467     140.532    5 5000 SELECTs
      7.750      10.133    6 10000 UPDATEs without an index
   9306.426    8426.985    7 250000 UPDATEs with an index
   9718.990    5174.684    8 250000 text UPDATEs with an index
      0.308       0.194    9 INSERTs from a SELECT
      0.858       0.112   10 DELETE without an index
      0.183       0.103   11 DELETE with an index
      0.205       0.118   12 A big INSERT after a big DELETE
      0.086       0.091   13 A big DELETE followed by many small INSERTs
      0.159       0.036   14 DROP TABLE