README file on how to run benchmarks

This gives instruction on the installation and usage and an example of
command line to use.
This commit is contained in:
Romain Brenguier 2019-02-01 09:59:53 +00:00
parent 044d5459aa
commit 9ca0dff0c1
1 changed files with 37 additions and 0 deletions

View File

@ -0,0 +1,37 @@
Script to run an executable (for instance JBMC) on a list of Java methods.
# Install
npm install
# Usage
benchmark_java_project.js --help
# Example
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 java_arguments.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
# Converting the result to csv
./benchmark_to_spreadsheet.js result.json >result.csv
This will create a `result.csv` file containing the results.
# Comparing two runs
Assuming the results have been converted to csv and saved into two files named
benchmark1.csv and benchmark2.csv:
gnuplot draw_scatter.gp
will create a png file `perf_out.png` with the time from the first run on the
`y` axis and the second on the `x` axis.