Skip to content

Commit 64a71cf

Browse files
committed
Rename library benchmark to run-libs
1 parent a299334 commit 64a71cf

File tree

5 files changed

+58
-13
lines changed

5 files changed

+58
-13
lines changed

.github/workflows/maven.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
run: sudo apt-get update && sudo apt-get install -y gnuplot
3030

3131
- name: Run smoketest benchmarks
32-
run: ./run.sh smoketest
32+
run: ./run-libs.sh smoketest
3333

3434
- name: Generate benchmark report
3535
run: ./report.sh

README.md

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -61,20 +61,22 @@ wrappers exists. Operation on non-Linux operating systems is unsupported.
6161

6262
### Running Benchmarks
6363

64-
Use the provided `run.sh` script to execute benchmarks:
64+
#### Library Comparison Benchmarks
65+
66+
Use the `run-libs.sh` script to compare different key-value store libraries:
6567

6668
```bash
6769
# Quick smoke test (1K entries, fast verification)
68-
./run.sh smoketest
70+
./run-libs.sh smoketest
6971

7072
# Full benchmark using 25% of system RAM (default)
71-
./run.sh benchmark
73+
./run-libs.sh benchmark
7274

7375
# Full benchmark using 50% of system RAM
74-
./run.sh benchmark 50
76+
./run-libs.sh benchmark 50
7577

7678
# Full benchmark using 100% of system RAM
77-
./run.sh benchmark 100
79+
./run-libs.sh benchmark 100
7880
```
7981

8082
The benchmark auto-scales based on available RAM and caps at 1 million entries.
@@ -83,13 +85,17 @@ along with human-readable logs in `target/benchmark/out-1.txt` through `target/b
8385

8486
### Generating Reports
8587

86-
After running benchmarks, generate a comprehensive report with charts:
88+
After running library comparison benchmarks, generate a comprehensive report:
89+
90+
```bash
91+
./report-libs.sh
92+
```
8793

8894
```bash
89-
./report.sh
95+
./report-vers.sh
9096
```
9197

92-
This generates:
98+
Reports generate:
9399
- `target/benchmark/README.md` - Full markdown report with charts
94100
- `target/benchmark/index.html` - HTML viewer with embedded charts (open in browser)
95101
- Various SVG charts and supporting files

pom.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,13 @@
358358
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
359359
</license>
360360
</licenses>
361+
<developers>
362+
<developer>
363+
<id>lmdbjava</id>
364+
<name>The LmdbJava Open Source Project</name>
365+
<url>https://github.com/lmdbjava</url>
366+
</developer>
367+
</developers>
361368
<scm>
362369
<connection>scm:git:[email protected]:${github.org}/${github.repo}.git</connection>
363370
<developerConnection>scm:git:[email protected]:${github.org}/${github.repo}.git</developerConnection>

report.sh renamed to report-libs.sh

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,20 @@
11
#!/bin/bash
2+
#
3+
# Copyright © 2016-2025 The LmdbJava Open Source Project
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
#
17+
218
set -euo pipefail
319

420
# Set working directory
@@ -49,7 +65,7 @@ get_cpu_count() {
4965
grep -c "^processor" /proc/cpuinfo
5066
}
5167

52-
get_total_ram_gb() {
68+
get_total_ram_gib() {
5369
awk '/MemTotal/ {printf "%.0f", $2/1024/1024}' /proc/meminfo
5470
}
5571

@@ -71,7 +87,7 @@ check_tmpfs() {
7187

7288
CPU_MODEL=$(get_cpu_info)
7389
CPU_COUNT=$(get_cpu_count)
74-
RAM_GB=$(get_total_ram_gb)
90+
RAM_GIB=$(get_total_ram_gib)
7591
KERNEL=$(get_kernel)
7692
JAVA_VERSION=$(get_java_version)
7793
TMP_FS=$(check_tmpfs)
@@ -115,7 +131,7 @@ echo ""
115131

116132
echo "System Information:"
117133
echo " CPU: $CPU_MODEL (${CPU_COUNT} cores)"
118-
echo " RAM: ${RAM_GB} GB"
134+
echo " RAM: ${RAM_GIB} GiB"
119135
echo " Kernel: Linux $KERNEL"
120136
echo " Java: $JAVA_VERSION"
121137
echo " /tmp filesystem: $TMP_FS"
@@ -189,7 +205,7 @@ following configuration:
189205
| Component | Details |
190206
| :-------- | :------ |
191207
| CPU | ${CPU_MODEL} (${CPU_COUNT} cores) |
192-
| RAM | ${RAM_GB} GB |
208+
| RAM | ${RAM_GIB} GiB |
193209
| OS | Linux ${KERNEL} (x86_64) |
194210
| Java | ${JAVA_VERSION} |
195211
| JMH | ${JMH_VERSION} |

run.sh renamed to run-libs.sh

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,20 @@
11
#!/bin/bash
2+
#
3+
# Copyright © 2016-2025 The LmdbJava Open Source Project
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
#
17+
218
set -euo pipefail
319

420
# Usage: ./run.sh [smoketest|benchmark [ram_percent]]

0 commit comments

Comments
 (0)