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.240.059 baseline
2 LMDB_0.9.220.059 +0.5%
3 LMDB_0.9.190.059 +0.8%
4 LMDB_0.9.200.060 +1.7%
5 LMDB_0.9.170.061 +3.7%
6 LMDB_0.9.180.062 +4.6%
7 LMDB_0.9.230.062 +4.6%
8 LMDB_0.9.210.062 +4.8%
9 LMDB_0.9.280.063 +6.5%
10 LMDB_0.9.290.063 +7.0%
11 LMDB_0.9.330.064 +8.5%
12 LMDB_0.9.270.066 +12.9%
13 LMDB_0.9.300.069 +17.1%
14 LMDB_0.9.310.074 +25.2%
Write Entry
Rank LMDB Tag ms/op vs Fastest
1 LMDB_0.9.170.219 baseline
2 LMDB_0.9.180.220 +0.6%
3 LMDB_0.9.300.223 +2.0%
4 LMDB_0.9.290.225 +3.0%
5 LMDB_0.9.330.226 +3.3%
6 LMDB_0.9.210.226 +3.5%
7 LMDB_0.9.280.226 +3.5%
8 LMDB_0.9.190.227 +3.8%
9 LMDB_0.9.270.228 +4.2%
10 LMDB_0.9.310.229 +4.7%
11 LMDB_0.9.200.233 +6.4%
12 LMDB_0.9.240.234 +6.8%
13 LMDB_0.9.220.235 +7.4%
14 LMDB_0.9.230.237 +8.3%
Calculate xxHash64
Rank LMDB Tag ms/op vs Fastest
1 LMDB_0.9.220.069 baseline
2 LMDB_0.9.200.069 +0.1%
3 LMDB_0.9.300.069 +0.1%
4 LMDB_0.9.280.069 +0.2%
5 LMDB_0.9.230.069 +0.2%
6 LMDB_0.9.310.069 +0.3%
7 LMDB_0.9.190.069 +0.4%
8 LMDB_0.9.210.069 +0.7%
9 LMDB_0.9.170.069 +1.1%
10 LMDB_0.9.270.069 +1.1%
11 LMDB_0.9.240.069 +1.3%
12 LMDB_0.9.330.069 +1.4%
13 LMDB_0.9.290.072 +5.2%
14 LMDB_0.9.180.073 +6.4%
Iterate Sequentially
Rank LMDB Tag ms/op vs Fastest
1 LMDB_0.9.330.026 baseline
2 LMDB_0.9.310.026 +0.2%
3 LMDB_0.9.190.026 +0.5%
4 LMDB_0.9.280.026 +0.6%
5 LMDB_0.9.200.026 +1.6%
6 LMDB_0.9.290.026 +1.7%
7 LMDB_0.9.210.026 +1.8%
8 LMDB_0.9.240.026 +1.9%
9 LMDB_0.9.220.026 +2.0%
10 LMDB_0.9.230.027 +2.1%
11 LMDB_0.9.180.027 +2.5%
12 LMDB_0.9.270.027 +2.9%
13 LMDB_0.9.300.027 +5.6%
14 LMDB_0.9.170.027 +5.7%
Iterate Reverse
Rank LMDB Tag ms/op vs Fastest
1 LMDB_0.9.300.026 baseline
2 LMDB_0.9.310.026 +0.8%
3 LMDB_0.9.290.026 +0.8%
4 LMDB_0.9.220.026 +1.2%
5 LMDB_0.9.230.026 +1.5%
6 LMDB_0.9.180.026 +1.9%
7 LMDB_0.9.240.026 +2.3%
8 LMDB_0.9.210.026 +2.3%
9 LMDB_0.9.170.026 +2.4%
10 LMDB_0.9.200.026 +2.4%
11 LMDB_0.9.330.026 +2.7%
12 LMDB_0.9.280.027 +2.8%
13 LMDB_0.9.190.027 +3.8%
14 LMDB_0.9.270.039 +50.3%
Calculate CRC32
Rank LMDB Tag ms/op vs Fastest
1 LMDB_0.9.200.127 baseline
2 LMDB_0.9.180.127 +0.1%
3 LMDB_0.9.190.127 +0.1%
4 LMDB_0.9.290.127 +0.1%
5 LMDB_0.9.220.127 +0.2%
6 LMDB_0.9.240.128 +0.3%
7 LMDB_0.9.270.128 +0.4%
8 LMDB_0.9.300.128 +0.4%
9 LMDB_0.9.170.128 +0.5%
10 LMDB_0.9.310.128 +0.5%
11 LMDB_0.9.230.128 +0.5%
12 LMDB_0.9.210.128 +0.6%
13 LMDB_0.9.330.129 +1.8%
14 LMDB_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
CPU AMD EPYC 7763 64-Core Processor (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)