Skip to content

Repository containing the JMH benchmarks used to test the performance of Timefold Solver

License

Notifications You must be signed in to change notification settings

TimefoldAI/timefold-solver-benchmarks

Repository files navigation

Select Benchmarks for Timefold Solver

This repository is a continuous work in progress, and it will change as our needs change. There are no guarantees that anything in this repository will still be here tomorrow, or that it will look anything like it looks today, or that it will work against any particular version of the Solver.

Microbenchmarks

Usage

To run the benchmarks, you need access to Timefold Solver Enterprise Edition. Having acquired that, run any of the benchmarks:

./run-coldstart.sh
./run-scoredirector.sh

The benchmark results will be published as a subdirectory in the results directory, and they will include flame graphs if Async Profiler is available.

In the default configuration, the benchmark will run for many hours and fully occupy 1 CPU. Only run the benchmark on a quiet machine, otherwise results will be skewed.

Async profiler

The benchmark can optionally produce flame graphs using Async Profiler. On the first run, if Async Profiler is not found, a message will be logged. Let the message point you in the right direction.

Configuring the benchmark

The benchmark is configured using the coldstart-benchmark.properties and scoredirector-benchmark.properties file. The file is well-commented, and should be self-explanatory. Modify it to suit your needs.

TSPLIB95 and CVRPLIB benchmarks

Runs the solver against well-known academic datasets:

Usage

To run the benchmarks, you need access to Timefold Solver Enterprise Edition. Having acquired that, build and run any of the benchmarks:

mvn clean install -DskipJMH
./run-tsplib95.sh
./run-cvrplib.sh

The benchmark results will be published as a CSV file in the results directory.

In the default configuration, the benchmark will run for many hours and fully occupy 4 CPUs. Only run the benchmark on a quiet machine, otherwise results will be skewed.

About

Repository containing the JMH benchmarks used to test the performance of Timefold Solver

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •  

Languages