LMDB Library Performance Analysis

⚠️ SMOKETEST RESULTS

This report was generated from a smoketest run and should NOT be used for performance comparisons or production decisions. Smoketest results have:

For valid performance results, run the benchmark script with benchmark mode instead.

LMDB Library Performance Analysis

Results | Trend

Performance Analysis

The following tables show each benchmark ranked by latency (smaller is better), with percentage difference from the fastest LMDB library build. The latest tag (LMDB_0.9.33) is highlighted in bold.

Read by Key

RankLMDB Tagms/opvs Fastest
1LMDB_0.9.240.059baseline
2LMDB_0.9.220.059+0.5%
3LMDB_0.9.190.059+0.8%
4LMDB_0.9.200.060+1.7%
5LMDB_0.9.170.061+3.7%
6LMDB_0.9.180.062+4.6%
7LMDB_0.9.230.062+4.6%
8LMDB_0.9.210.062+4.8%
9LMDB_0.9.280.063+6.5%
10LMDB_0.9.290.063+7.0%
11LMDB_0.9.330.064+8.5%
12LMDB_0.9.270.066+12.9%
13LMDB_0.9.300.069+17.1%
14LMDB_0.9.310.074+25.2%

Write Entry

RankLMDB Tagms/opvs Fastest
1LMDB_0.9.170.219baseline
2LMDB_0.9.180.220+0.6%
3LMDB_0.9.300.223+2.0%
4LMDB_0.9.290.225+3.0%
5LMDB_0.9.330.226+3.3%
6LMDB_0.9.210.226+3.5%
7LMDB_0.9.280.226+3.5%
8LMDB_0.9.190.227+3.8%
9LMDB_0.9.270.228+4.2%
10LMDB_0.9.310.229+4.7%
11LMDB_0.9.200.233+6.4%
12LMDB_0.9.240.234+6.8%
13LMDB_0.9.220.235+7.4%
14LMDB_0.9.230.237+8.3%

Calculate xxHash64

RankLMDB Tagms/opvs Fastest
1LMDB_0.9.220.069baseline
2LMDB_0.9.200.069+0.1%
3LMDB_0.9.300.069+0.1%
4LMDB_0.9.280.069+0.2%
5LMDB_0.9.230.069+0.2%
6LMDB_0.9.310.069+0.3%
7LMDB_0.9.190.069+0.4%
8LMDB_0.9.210.069+0.7%
9LMDB_0.9.170.069+1.1%
10LMDB_0.9.270.069+1.1%
11LMDB_0.9.240.069+1.3%
12LMDB_0.9.330.069+1.4%
13LMDB_0.9.290.072+5.2%
14LMDB_0.9.180.073+6.4%

Iterate Sequentially

RankLMDB Tagms/opvs Fastest
1LMDB_0.9.330.026baseline
2LMDB_0.9.310.026+0.2%
3LMDB_0.9.190.026+0.5%
4LMDB_0.9.280.026+0.6%
5LMDB_0.9.200.026+1.6%
6LMDB_0.9.290.026+1.7%
7LMDB_0.9.210.026+1.8%
8LMDB_0.9.240.026+1.9%
9LMDB_0.9.220.026+2.0%
10LMDB_0.9.230.027+2.1%
11LMDB_0.9.180.027+2.5%
12LMDB_0.9.270.027+2.9%
13LMDB_0.9.300.027+5.6%
14LMDB_0.9.170.027+5.7%

Iterate Reverse

RankLMDB Tagms/opvs Fastest
1LMDB_0.9.300.026baseline
2LMDB_0.9.310.026+0.8%
3LMDB_0.9.290.026+0.8%
4LMDB_0.9.220.026+1.2%
5LMDB_0.9.230.026+1.5%
6LMDB_0.9.180.026+1.9%
7LMDB_0.9.240.026+2.3%
8LMDB_0.9.210.026+2.3%
9LMDB_0.9.170.026+2.4%
10LMDB_0.9.200.026+2.4%
11LMDB_0.9.330.026+2.7%
12LMDB_0.9.280.027+2.8%
13LMDB_0.9.190.027+3.8%
14LMDB_0.9.270.039+50.3%

Calculate CRC32

RankLMDB Tagms/opvs Fastest
1LMDB_0.9.200.127baseline
2LMDB_0.9.180.127+0.1%
3LMDB_0.9.190.127+0.1%
4LMDB_0.9.290.127+0.1%
5LMDB_0.9.220.127+0.2%
6LMDB_0.9.240.128+0.3%
7LMDB_0.9.270.128+0.4%
8LMDB_0.9.300.128+0.4%
9LMDB_0.9.170.128+0.5%
10LMDB_0.9.310.128+0.5%
11LMDB_0.9.230.128+0.5%
12LMDB_0.9.210.128+0.6%
13LMDB_0.9.330.129+1.8%
14LMDB_0.9.280.138+8.9%

Test Configuration

The benchmark was executed on 2025-12-20 using LmdbJava Benchmarks.

Each test run uses -Dlmdbjava.native.lib to ensure use of a specific LMDB library built from the identified LMDB tag. This isolates LmdbJava wrapper code during each benchmark, ensuring the only variation is the actual LMDB library.

All tests use the LmdbJava Agrona implementation with the following configuration:

Test Environment

CPUAMD EPYC 7763 64-Core Processor (4 cores)
RAM16 GiB
OSLinux 6.11.0-1018-azure (x86_64)
Java25.0.1
LmdbJavamaster#83c3a62

Benchmark Configuration