diff --git a/Cargo.toml b/Cargo.toml index 8fac28b..4495d61 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,4 +19,4 @@ version = "0.2.0" [profile.release] codegen-units = 1 -lto = "thin" +lto = true diff --git a/query-perf/README.md b/query-perf/README.md index 6c196bc..472b056 100644 --- a/query-perf/README.md +++ b/query-perf/README.md @@ -6,10 +6,10 @@ This allows us to establish a baseline understanding of raw component performanc The tool is structured around the concept of a Performance Test Scenario, which represents the combination of a specific Continuous Query against a data model. The same Performance Test Scenario with the same expected outcomes can then be run against different component configurations simply by specifying the desired component configuration using command line parameters. # Execution -You can run the The Component Performance Test Tool from a compiled binary: +You can run the The Component Performance Test Tool using a shell script: ``` -./query-perf +./run_perf_tests.sh ``` ... or using the Cargo tool from the project directory: diff --git a/query-perf/run_perf_tests b/query-perf/run_perf_tests deleted file mode 100755 index 0ca4d9b..0000000 --- a/query-perf/run_perf_tests +++ /dev/null @@ -1,15 +0,0 @@ -cargo run -- -s single_node_property_projection -e memory -r memory -cargo run -- -s single_node_property_projection -e rocksdb -r rocksdb -cargo run -- -s single_node_property_projection -e redis -r redis - -cargo run -- -s single_node_calculation_projection -e memory -r memory -cargo run -- -s single_node_calculation_projection -e rocksdb -r rocksdb -cargo run -- -s single_node_calculation_projection -e redis -r redis - -cargo run -- -s single_path_averaging_projection -e memory -r memory -cargo run -- -s single_path_averaging_projection -e rocksdb -r rocksdb -cargo run -- -s single_path_averaging_projection -e redis -r redis - -cargo run -- -s single_path_no_change_averaging_projection -e memory -r memory -cargo run -- -s single_path_no_change_averaging_projection -e rocksdb -r rocksdb -cargo run -- -s single_path_no_change_averaging_projection -e redis -r redis \ No newline at end of file diff --git a/query-perf/run_perf_tests.sh b/query-perf/run_perf_tests.sh new file mode 100755 index 0000000..c154f39 --- /dev/null +++ b/query-perf/run_perf_tests.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +# Define the output file +output_file="all_output_lto.txt" + +# Clear the output file if it already exists +> "$output_file" + +# Run each command and append its output to the output file +cargo run --release -- -s single_node_property_projection -e memory -r memory --seed 12345 >> "$output_file" +cargo run --release -- -s single_node_property_projection -e rocksdb -r rocksdb --seed 12345 >> "$output_file" +cargo run --release -- -s single_node_property_projection -e redis -r redis --seed 12345 >> "$output_file" + +cargo run --release -- -s single_node_calculation_projection -e memory -r memory --seed 12345 >> "$output_file" +cargo run --release -- -s single_node_calculation_projection -e rocksdb -r rocksdb --seed 12345 >> "$output_file" +cargo run --release -- -s single_node_calculation_projection -e redis -r redis --seed 12345 >> "$output_file" + +cargo run --release -- -s single_path_averaging_projection -e memory -r memory --seed 12345 >> "$output_file" +cargo run --release -- -s single_path_averaging_projection -e rocksdb -r rocksdb --seed 12345 >> "$output_file" +cargo run --release -- -s single_path_averaging_projection -e redis -r redis --seed 12345 >> "$output_file" + +cargo run --release -- -s single_path_no_change_averaging_projection -e memory -r memory --seed 12345 >> "$output_file" +cargo run --release -- -s single_path_no_change_averaging_projection -e rocksdb -r rocksdb --seed 12345 >> "$output_file" +cargo run --release -- -s single_path_no_change_averaging_projection -e redis -r redis --seed 12345 >> "$output_file"