Script to run an executable (for instance JBMC) on a list of Java methods.
npm install
benchmark_java_project.js --help
Assuming there is a java maven module installed in project-name/module-core/
,
and the jbmc
main directory is in /path/to/jbmc
, go to
project-name/module-core/target/classes
, and run:
/path/to/scripts/benchmark/benchmark_java_project.js /path/to/jbmc -l method_list_example.txt -a jbmc_arguments_example.json -m path/to/jbmc/lib/java-models-library/target/core-models.jar | tee result.json
This will display the results and save them into the file result.json
.
The method_list_example.txt
file provided here works for apache-tika/tika-core
available from https://github.com/apache/tika
./benchmark_to_spreadsheet.js result.json >result.csv
This will create a result.csv
file containing the results.
Assuming the results have been converted to csv and saved into two files named develop.csv and branch.csv:
gnuplot draw_scatter.gp
will create a png file perf_out.png
with the time from the branch / changed run on the
y
axis and the develop / original run on the x
axis.