The bash script "benchmark.sh" contains code to replicate the benchmark study
results of the main manuscript. It sources the file "benchmark.R", multiple
times and stores the resulting benchmark statistics to disk. The "benchmark.R"
script depends on R packages "filelock" and "microbenchmark".

The benchmark data of the paper are collected from one water-cooled computing
node with 2 Intel Xeon E5-2670 v2 (Ivy Bridge) CPUs, 10 cores per CPU, and
hyper-threading (in total 40 logical processors). A full execution of the
benchmarks in a personal computer can be quite lengthy (days long).

The functionality of "benchmark.sh" can be illustrated by executing it in 'test'
mode, which runs the benchmark exercises for all models but severely limits the
number of executed simulations (4 instead of 100). No other changes are
introduced in 'test' mode. The test 'mode' serves as evidence of reproducibility. 

The replication script for the main manuscript does NOT depend on this code.

The data in the paper were generated by

./benchmark.sh full

One can perform the smaller scale replication by

./benchmark.sh test

The script will save the new data as using the mask
'time_benchmark_<timestamp>.rds'. The resulting times (vertical axis) can be
different from those recorded in the main manuscript if a different CPU is used.
The order of methods should be the same in all machines, in particular for
larger samples (e.g., the parameter benchmarks).

The script has been tested in the following environments:
1. Fedora 34
2. Ubuntu 20.04.4 LTS in WSL2 under Windows 11
3. Scientific Linux release 7.9 (Nitrogen)