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:
No warmup iterations
Single iteration
Minimal entry counts
Short runtime
For valid performance results, run the benchmark script with benchmark mode instead.
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
Rank LMDB Tag ms/op vs Fastest
1 LMDB_0.9.190.056 baseline
2 LMDB_0.9.240.056 +1.0%
3 LMDB_0.9.230.057 +1.5%
4 LMDB_0.9.210.057 +1.5%
5 LMDB_0.9.300.057 +1.6%
6 LMDB_0.9.310.057 +1.7%
7 LMDB_0.9.220.057 +2.6%
8 LMDB_0.9.330.057 +2.9%
9 LMDB_0.9.280.058 +3.1%
10 LMDB_0.9.270.058 +3.5%
11 LMDB_0.9.290.058 +3.6%
12 LMDB_0.9.200.058 +4.5%
13 LMDB_0.9.180.062 +10.8%
14 LMDB_0.9.170.064 +14.5%
Write Entry
Rank LMDB Tag ms/op vs Fastest
1 LMDB_0.9.190.149 baseline
2 LMDB_0.9.180.153 +2.7%
3 LMDB_0.9.170.154 +3.8%
4 LMDB_0.9.330.158 +6.4%
5 LMDB_0.9.300.159 +7.0%
6 LMDB_0.9.310.159 +7.1%
7 LMDB_0.9.290.159 +7.2%
8 LMDB_0.9.280.161 +8.0%
9 LMDB_0.9.210.161 +8.2%
10 LMDB_0.9.240.161 +8.3%
11 LMDB_0.9.220.162 +9.1%
12 LMDB_0.9.230.163 +9.8%
13 LMDB_0.9.270.164 +10.6%
14 LMDB_0.9.200.166 +12.0%
Calculate xxHash64
Rank LMDB Tag ms/op vs Fastest
1 LMDB_0.9.310.058 baseline
2 LMDB_0.9.290.058 +0.1%
3 LMDB_0.9.220.058 +0.4%
4 LMDB_0.9.240.058 +0.9%
5 LMDB_0.9.230.058 +1.3%
6 LMDB_0.9.190.058 +1.4%
7 LMDB_0.9.180.059 +1.7%
8 LMDB_0.9.170.059 +1.8%
9 LMDB_0.9.300.059 +2.0%
10 LMDB_0.9.280.059 +2.1%
11 LMDB_0.9.200.059 +2.4%
12 LMDB_0.9.210.059 +2.4%
13 LMDB_0.9.330.059 +2.4%
14 LMDB_0.9.270.060 +4.3%
Iterate Sequentially
Rank LMDB Tag ms/op vs Fastest
1 LMDB_0.9.290.027 baseline
2 LMDB_0.9.330.027 +0.2%
3 LMDB_0.9.210.027 +0.3%
4 LMDB_0.9.190.027 +0.6%
5 LMDB_0.9.200.027 +0.8%
6 LMDB_0.9.300.027 +1.0%
7 LMDB_0.9.310.027 +1.3%
8 LMDB_0.9.230.027 +1.3%
9 LMDB_0.9.240.027 +1.3%
10 LMDB_0.9.180.027 +2.1%
11 LMDB_0.9.170.027 +2.6%
12 LMDB_0.9.270.027 +2.6%
13 LMDB_0.9.220.028 +4.2%
14 LMDB_0.9.280.028 +4.9%
Iterate Reverse
Rank LMDB Tag ms/op vs Fastest
1 LMDB_0.9.270.026 baseline
2 LMDB_0.9.210.026 +0.1%
3 LMDB_0.9.190.026 +0.5%
4 LMDB_0.9.290.026 +0.6%
5 LMDB_0.9.220.026 +0.7%
6 LMDB_0.9.280.026 +1.0%
7 LMDB_0.9.240.026 +1.2%
8 LMDB_0.9.330.026 +1.4%
9 LMDB_0.9.200.027 +1.5%
10 LMDB_0.9.300.027 +2.2%
11 LMDB_0.9.310.027 +2.5%
12 LMDB_0.9.230.027 +2.9%
13 LMDB_0.9.180.027 +4.5%
14 LMDB_0.9.170.028 +5.4%
Calculate CRC32
Rank LMDB Tag ms/op vs Fastest
1 LMDB_0.9.240.076 baseline
2 LMDB_0.9.170.076 +0.0%
3 LMDB_0.9.220.076 +0.0%
4 LMDB_0.9.190.076 +0.0%
5 LMDB_0.9.290.076 +0.2%
6 LMDB_0.9.300.076 +0.3%
7 LMDB_0.9.330.076 +0.4%
8 LMDB_0.9.230.076 +0.5%
9 LMDB_0.9.200.076 +0.5%
10 LMDB_0.9.180.077 +0.6%
11 LMDB_0.9.280.077 +1.1%
12 LMDB_0.9.310.077 +1.4%
13 LMDB_0.9.210.078 +2.0%
14 LMDB_0.9.270.078 +2.1%
Test Configuration
The benchmark was executed on 2025-12-26 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
CPU Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz (4 cores)
RAM 16 GiB
OS Linux 6.11.0-1018-azure (x86_64)
Java 25.0.1
LmdbJava master#83c3a62
Benchmark Configuration
Implementation: LmdbJava Agrona only
Test Profile: Run 4 sequential integer configuration (100-byte values)
Key Type: Sequential 32-bit integers
Value Size: 100 bytes
Access Pattern: Sequential
Benchmarks: All 6 operations (readCrc, readKey, readRev, readSeq, readXxh64, write)