Skip to content

Commit cb512aa

Browse files
committed
Introduce benchmarking of different LMDB versions
1 parent 7721dbb commit cb512aa

File tree

5 files changed

+769
-7
lines changed

5 files changed

+769
-7
lines changed

.github/workflows/maven.yml

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,19 +25,25 @@ jobs:
2525
- name: Build with Maven
2626
run: mvn -B verify
2727

28-
- name: Install gnuplot for report generation
29-
run: sudo apt-get update && sudo apt-get install -y gnuplot
28+
- name: Install dependencies for report generation
29+
run: sudo apt-get update && sudo apt-get install -y gnuplot jq
3030

31-
- name: Run smoketest benchmarks
31+
- name: Run library comparison smoketest
3232
run: ./run-libs.sh smoketest
3333

34-
- name: Generate benchmark report
35-
run: ./report.sh
34+
- name: Generate library comparison report
35+
run: ./report-libs.sh
3636

37-
- name: Upload benchmark results
37+
- name: Run version regression smoketest
38+
run: ./run-vers.sh smoketest
39+
40+
- name: Generate version regression report
41+
run: ./report-vers.sh
42+
43+
- name: Upload all benchmark results
3844
uses: actions/upload-artifact@v4
3945
if: always()
4046
with:
41-
name: benchmark-smoketest-results
47+
name: benchmark-results
4248
path: target/benchmark/
4349
retention-days: 7

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
target
22
bin
3+
work
34
.classpath
45
.project
56
.settings

README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,19 @@ The benchmark auto-scales based on available RAM and caps at 1 million entries.
8383
Results are written to `target/benchmark/out-libs-1.json` through `target/benchmark/out-libs-6.json`
8484
along with human-readable logs in `target/benchmark/out-libs-1.txt` through `target/benchmark/out-libs-6.txt`.
8585

86+
#### Version Regression Testing
87+
88+
Use the `run-vers.sh` script to test LmdbJava performance across versions:
89+
90+
```bash
91+
# Quick smoke test (1K entries, fast verification)
92+
./run-vers.sh smoketest
93+
94+
# Full benchmark using 25% of system RAM (default)
95+
./run-vers.sh benchmark
96+
```
97+
98+
This tests selected LmdbJava versions from Maven Central plus current development branches to identify performance regressions.
8699

87100
### Generating Reports
88101

@@ -92,6 +105,8 @@ After running library comparison benchmarks, generate a comprehensive report:
92105
./report-libs.sh
93106
```
94107

108+
After running version regression tests, generate a version comparison report:
109+
95110
```bash
96111
./report-vers.sh
97112
```

0 commit comments

Comments
 (0)