Running Benchmarks

You can find pre-executed benchmarking data and descriptions of each benchmark here. Additionally, you can run the benchmarks yourself by executing

python benchmarks/run_all_benchmarks_and_plot.py

from the root directory of PySTE. This will generate the following file structure:

results/
├─ data/
│  ├─ benchmark_propagate.json
│  ├─ benchmark_propagate_sparse_Hamiltonian.json
│  ├─ benchmark_initialisation.json
│  ├─ benchmark_initialisation_sparse.json
│  └─ benchmark_against_qutip.csv
└─ plots/
   ├─ benchmark_propagate.png
   ├─ benchmark_propagate_sparse_Hamiltonian.png
   ├─ benchmark_initialisation.png
   ├─ benchmark_initialisation_sparse.png
   └─ benchmark_against_qutip.png

Alternatively,

python benchmarks/benchmark_propagate.py -o results/data/benchmark_propagate.json

python benchmarks/benchmark_propagate_sparse_Hamiltonian.py -o results/data/benchmark_propagate_sparse_Hamiltonian.json

python benchmarks/benchmark_initialisation.py -o results/data/benchmark_initialisation.json

python benchmarks/benchmark_initialisation_sparse.py -o results/data/benchmark_initialisation_sparse.json

python benchmarks/benchmark_against_qutip.py -o results/data/benchmark_against_qutip.csv

can be run individually to execute specific benchmarks.

Finally, the data from the benchmarks can be plotted using

# replace DATAFILE with the .json file you wish to plot
python benchmarks/plotting/plot_benchmark_propagate_or_initialisation.py results/data/DATAFILE.json

python benchmarks/plotting/plot_benchmark_against_qutip.py results/data/benchmark_against_qutip.csv

The plots will be output into the same directory as the input data file with the same name but the extension changed to .png.

Previous