An open API service indexing awesome lists of open source software.

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

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.