Files
data-access-benchmark/README.md
T
2026-04-05 16:54:41 +00:00

77 lines
2.5 KiB
Markdown

# data-access-benchmark
```bash
mvn package -q
java -jar target/benchmarks.jar
# optional: suppress JDK warning from the launcher JVM
java --sun-misc-unsafe-memory-access=allow -jar target/benchmarks.jar
```
## Benchmark Results (auto-updated)
This section is automatically refreshed by the app after each benchmark run.
Only the content between the markers below is rewritten, so the rest of this README stays untouched.
<!-- BENCHMARK_RESULTS_START -->
Last updated: 2026-04-05T16:53:23.606653992Z
### System info
- OS: `Linux 6.12.74+deb13+1-amd64` (amd64)
- Java: `25.0.2` (vendor: `Microsoft`)
- JVM: `OpenJDK 64-Bit Server VM` `25.0.2+10-LTS`
- CPU model: `AMD Ryzen 5 9600X 6-Core Processor`
- Total physical memory: `80078 MB`
- Available processors: `12`
- Max heap: `20032 MB`
### Run context
- Benchmark: `com.benchmark.benchmarks.DataAccessBenchmark.readSingleUser`
- Thread count: `12`
- Fixtures in this snapshot: `28`
### Results
#### Throughput
| Rank | Fixture | Score | Error | Unit |
|---:|---|---:|---:|---|
| 1 | `in-memory` | 1071.748 | 51.460 | `ops/us` |
| 2 | `chronicle-map` | 84.556 | 5.034 | `ops/us` |
| 3 | `memory-mapped-file` | 78.969 | 1.996 | `ops/us` |
| 4 | `datastore4j` | 58.406 | 2.794 | `ops/us` |
| 5 | `leveldb` | 32.387 | 5.570 | `ops/us` |
| 6 | `mapdb` | 29.448 | 1.222 | `ops/us` |
| 7 | `sqlite-jdbc-memory` | 3.847 | 0.463 | `ops/us` |
| 8 | `lmdb` | 3.210 | 0.725 | `ops/us` |
| 9 | `kryo` | 2.463 | 0.130 | `ops/us` |
| 10 | `gson` | 2.198 | 0.057 | `ops/us` |
| 11 | `sqlite-jdbc` | 1.862 | 0.492 | `ops/us` |
| 12 | `sqlite-ormlite-memory` | 1.018 | 0.347 | `ops/us` |
| 13 | `sqlite-ormlite` | 0.835 | 0.279 | `ops/us` |
| 14 | `duckdb-jdbc` | 0.048 | 0.007 | `ops/us` |
#### AverageTime
| Rank | Fixture | Score | Error | Unit |
|---:|---|---:|---:|---|
| 1 | `in-memory` | 0.012 | 0.001 | `us/op` |
| 2 | `chronicle-map` | 0.150 | 0.017 | `us/op` |
| 3 | `memory-mapped-file` | 0.155 | 0.008 | `us/op` |
| 4 | `datastore4j` | 0.228 | 0.016 | `us/op` |
| 5 | `leveldb` | 0.288 | 0.018 | `us/op` |
| 6 | `mapdb` | 0.481 | 0.032 | `us/op` |
| 7 | `sqlite-jdbc-memory` | 2.964 | 0.191 | `us/op` |
| 8 | `lmdb` | 3.708 | 1.615 | `us/op` |
| 9 | `kryo` | 4.834 | 0.863 | `us/op` |
| 10 | `gson` | 5.592 | 0.253 | `us/op` |
| 11 | `sqlite-jdbc` | 6.108 | 0.397 | `us/op` |
| 12 | `sqlite-ormlite-memory` | 10.541 | 0.393 | `us/op` |
| 13 | `sqlite-ormlite` | 17.532 | 7.855 | `us/op` |
| 14 | `duckdb-jdbc` | 339.471 | 181.558 | `us/op` |
<!-- BENCHMARK_RESULTS_END -->