2

GitHub - joeljeremy7/java-config-library-benchmarks: Benchmark of Java libraries

 2 years ago
source link: https://github.com/joeljeremy7/java-config-library-benchmarks
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Benchmarks Results

Each push to the repository will trigger a benchmark run. Latest benchmark results will be viewable via GitHub Pages: https://joeljeremy7.github.io/java-config-library-benchmarks/

Libraries

(Alphabetical order)

Benchmark Setup

Each library is setup with its "default" configurations. In addition to the defaults, additional configuration/setup is done to "load" a single .properties file. For the benchmark runs, each library will load properties/configuration from the loaded .properties file (all with exactly the same file contents).

Benchmark Run

Benchmarks require Java 11.

To run the benchmarks and generate reports, use the runAllJmh.sh script.

Adding New Benchmarks

To introduce a new benchmark, create a new gradle subproject and:

  1. Create an Benchmark abstract class under io.github.joeljeremy7.java.config.lib.benchmarks package.
  2. Create benchmark methods in Benchmark class
    • Minimum required methods are:
      1. Retrieve a String property/configuration
      2. Retrieve an int property/configuration
  3. Create an Avgt and Thrpt nested class within Benchmark which extends the abstract Benchmark class so that they execute the same benchmarks.
  4. Annotate Avgt and Thrpt nested classes with appropriate JMH annotations to record results: avgt (ns) and thrpt (ms).
  5. Add the subproject's jmh task to the runAllJmh.sh script.
  6. Add project repository link to Libraries section.

Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK