|
1 | 1 | [](https://github.com/lmdbjava/benchmarks/actions) |
2 | 2 | [](https://github.com/lmdbjava/benchmarks/actions) |
| 3 | +[](https://github.com/lmdbjava/benchmarks/actions) |
3 | 4 | [](http://www.apache.org/licenses/LICENSE-2.0.txt) |
4 | 5 |
|
5 | 6 | # LmdbJava Benchmarks |
|
8 | 9 |
|
9 | 10 | - **Library Comparisons**: [Full Benchmark](https://libraries-benchmark.lmdbjava.org) | [Smoketest](https://libraries-smoketest.lmdbjava.org) |
10 | 11 | - **Version Regressions**: [Full Benchmark](https://versions-benchmark.lmdbjava.org) | [Smoketest](https://versions-smoketest.lmdbjava.org) |
| 12 | +- **LMDB Benchmarks**: [Full Benchmark](https://lmdb-benchmark.lmdbjava.org) | [Smoketest](https://lmdb-smoketest.lmdbjava.org) |
11 | 13 | - **Historical**: [2016 Results](https://github.com/lmdbjava/benchmarks/blob/master/results/20160710/README.md) |
12 | 14 |
|
13 | 15 | This is a [JMH](http://openjdk.java.net/projects/code-tools/jmh/) benchmark |
@@ -134,6 +136,31 @@ rm -rf target/benchmark-vers |
134 | 136 | ./run-vers.sh benchmark |
135 | 137 | ``` |
136 | 138 |
|
| 139 | +#### LMDB Benchmarks |
| 140 | + |
| 141 | +Use the `run-lmdb.sh` script to test LmdbJava (master) performance across different LMDB library versions: |
| 142 | + |
| 143 | +```bash |
| 144 | +# Quick smoke test (1K entries, fast verification) |
| 145 | +./run-lmdb.sh smoketest |
| 146 | + |
| 147 | +# Full benchmark using 25% of system RAM (default) |
| 148 | +./run-lmdb.sh benchmark |
| 149 | + |
| 150 | +# Full benchmark using 50% of system RAM |
| 151 | +./run-lmdb.sh benchmark 50 |
| 152 | +``` |
| 153 | + |
| 154 | +This tests LmdbJava master against 9 different LMDB library versions (0.9.18-0.9.33) to isolate LMDB native library performance characteristics from LmdbJava wrapper code. |
| 155 | +Results are written to `target/benchmark-lmdb/`. |
| 156 | + |
| 157 | +**Resumption:** The script skips completed LMDB versions by checking for existing result files. For a fresh run, remove the output directory: |
| 158 | + |
| 159 | +```bash |
| 160 | +rm -rf target/benchmark-lmdb |
| 161 | +./run-lmdb.sh benchmark |
| 162 | +``` |
| 163 | + |
137 | 164 | #### Running Both Benchmark Suites |
138 | 165 |
|
139 | 166 | Use the `run-both.sh` script to run both library and version benchmarks sequentially (designed for overnight runs): |
@@ -162,6 +189,12 @@ After running version regression tests, generate a version comparison report: |
162 | 189 | ./report-vers.sh |
163 | 190 | ``` |
164 | 191 |
|
| 192 | +After running LMDB benchmarks, generate an LMDB performance report: |
| 193 | + |
| 194 | +```bash |
| 195 | +./report-lmdb.sh |
| 196 | +``` |
| 197 | + |
165 | 198 | Reports generate: |
166 | 199 | - `target/benchmark/README.md` - Full markdown report with charts |
167 | 200 | - `target/benchmark/index.html` - HTML viewer with embedded charts (open in browser) |
|
0 commit comments