https://github.com/rikonardo/nekomark
Simple JVM benchmarking tool
https://github.com/rikonardo/nekomark
benchmark java jdk jre jvm kotlin performance-testing
Last synced: 8 months ago
JSON representation
Simple JVM benchmarking tool
- Host: GitHub
- URL: https://github.com/rikonardo/nekomark
- Owner: Rikonardo
- License: gpl-3.0
- Created: 2022-08-04T21:30:54.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2022-08-04T21:36:11.000Z (about 3 years ago)
- Last Synced: 2025-01-10T23:46:33.640Z (10 months ago)
- Topics: benchmark, java, jdk, jre, jvm, kotlin, performance-testing
- Language: Kotlin
- Homepage:
- Size: 77.1 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Nekomark (=^・ω・^=)
Simple JVM benchmarking tool. Test startup time, computing performance, JNI and reflection calls overhead, etc.
## Usage
Download release or build it by yourself, then run using JVM you want to test. Possible launch arguments:
| Argument | Description | Default value |
|---------------------|------------------------------------------------------------|-------------------------|
| `--iterations` | How much benchmarking iterations should be done | `3` |
| `--jvm-args` | JVM arguments that should be passed to tested JVM instance | `"-Xms512m -Xmx512m"` |
| `--enable-jni-test` | Test JNI calls overhead | `false` |
| `--output` | Name for benchmark report file | `"nekomark-report.txt"` |
## JNI testing requirements
To use JNI test, you need to have Golang compiler installed. It is used to compile native library required by this test.
You can download latest GO version from [Golang website](https://go.dev/dl/).
**Notice: JNI test will not work correctly if your OS architecture does not match tested JVM build architecture.**
## Understanding benchmark source code
Benchmark consists of two parts: launcher and benchmark itself.
Launcher is responsible for starting JVM, receiving benchmarking results and generating report file.
Benchmarking part runs list of different tests and reports its results back to launcher via standard output.