From 64fdf6b8ee4381e8279e2915796820dedc5d84c0 Mon Sep 17 00:00:00 2001 From: Florian Sattler Date: Tue, 12 Sep 2023 22:12:52 +0200 Subject: [PATCH 01/15] Adds test info --- SynthIPRuntime/regression_1.info | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 SynthIPRuntime/regression_1.info diff --git a/SynthIPRuntime/regression_1.info b/SynthIPRuntime/regression_1.info new file mode 100644 index 0000000..25d2285 --- /dev/null +++ b/SynthIPRuntime/regression_1.info @@ -0,0 +1,8 @@ +description: "TODO: fill in" +include_revisions: + revision_range: + start: 4151c42ffeeb25e116ffb4a0803f242362ca90c9 + end: master +path: regression_1.patch +project_name: FeaturePerfCSCollection +shortname: todo_shortname From f1ce6b4119318cca143f2bfae69dbd5acb18b859 Mon Sep 17 00:00:00 2001 From: Florian Sattler Date: Tue, 12 Sep 2023 22:16:10 +0200 Subject: [PATCH 02/15] test patch --- SynthIPRuntime/regression_1.patch | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 SynthIPRuntime/regression_1.patch diff --git a/SynthIPRuntime/regression_1.patch b/SynthIPRuntime/regression_1.patch new file mode 100644 index 0000000..731cdae --- /dev/null +++ b/SynthIPRuntime/regression_1.patch @@ -0,0 +1,18 @@ +diff --git a/projects/SynthIPRuntime/main.cpp b/projects/SynthIPRuntime/main.cpp +index 106ad7a..b0b7c72 100644 +--- a/projects/SynthIPRuntime/main.cpp ++++ b/projects/SynthIPRuntime/main.cpp +@@ -1,3 +1,5 @@ ++#include "fp_util/sleep.h" ++ + #include + #include + #include +@@ -651,6 +653,7 @@ int main(int argc, char **argv) { + size_t what_size = buff_size; + + while (what_size > 0) { ++ fp_util::sleep_for_millisecs(20); + + const unsigned char *whatd = (const unsigned char *)what->data(); + bool done = decompress.feed(whatd, whatd + what_size, extra); From 476c4c24651dcfc870e7d983af06e1190f5ba1d3 Mon Sep 17 00:00:00 2001 From: Florian Sattler Date: Thu, 14 Sep 2023 14:24:25 +0200 Subject: [PATCH 03/15] Updates regression patch --- SynthIPRuntime/regression_1.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SynthIPRuntime/regression_1.patch b/SynthIPRuntime/regression_1.patch index 731cdae..288df82 100644 --- a/SynthIPRuntime/regression_1.patch +++ b/SynthIPRuntime/regression_1.patch @@ -1,5 +1,5 @@ diff --git a/projects/SynthIPRuntime/main.cpp b/projects/SynthIPRuntime/main.cpp -index 106ad7a..b0b7c72 100644 +index 697c963..ebe4050 100644 --- a/projects/SynthIPRuntime/main.cpp +++ b/projects/SynthIPRuntime/main.cpp @@ -1,3 +1,5 @@ @@ -8,7 +8,7 @@ index 106ad7a..b0b7c72 100644 #include #include #include -@@ -651,6 +653,7 @@ int main(int argc, char **argv) { +@@ -657,6 +659,7 @@ int main(int argc, char **argv) { size_t what_size = buff_size; while (what_size > 0) { From b23db235dbdd90ab9e41d78192bfffbd6eb2f5a3 Mon Sep 17 00:00:00 2001 From: Florian Sattler Date: Tue, 26 Sep 2023 14:24:20 +0200 Subject: [PATCH 04/15] Adds regression for each synth IP --- SynthIPCombined/regression_1.patch | 18 ++++++++++++++++++ SynthIPRuntime/regression_1.patch | 16 ++++++++-------- SynthIPTemplate/regression_1.patch | 18 ++++++++++++++++++ SynthIPTemplate2/regression_1.patch | 18 ++++++++++++++++++ 4 files changed, 62 insertions(+), 8 deletions(-) create mode 100644 SynthIPCombined/regression_1.patch create mode 100644 SynthIPTemplate/regression_1.patch create mode 100644 SynthIPTemplate2/regression_1.patch diff --git a/SynthIPCombined/regression_1.patch b/SynthIPCombined/regression_1.patch new file mode 100644 index 0000000..1c98d00 --- /dev/null +++ b/SynthIPCombined/regression_1.patch @@ -0,0 +1,18 @@ +diff --git a/projects/SynthIPCombined/main.cpp b/projects/SynthIPCombined/main.cpp +index e6685d5..9ee15b6 100644 +--- a/projects/SynthIPCombined/main.cpp ++++ b/projects/SynthIPCombined/main.cpp +@@ -1,3 +1,5 @@ ++#include "fp_util/sleep.h" ++ + #include + #include + #include +@@ -482,6 +484,7 @@ struct decompress_t { + } + + if (state.state == state_t::READ_DATA) { ++ fp_util::busy_sleep_for_secs(10); + + size_t len = state.msg; + diff --git a/SynthIPRuntime/regression_1.patch b/SynthIPRuntime/regression_1.patch index 288df82..77e18ae 100644 --- a/SynthIPRuntime/regression_1.patch +++ b/SynthIPRuntime/regression_1.patch @@ -1,18 +1,18 @@ diff --git a/projects/SynthIPRuntime/main.cpp b/projects/SynthIPRuntime/main.cpp -index 697c963..ebe4050 100644 +index ede9ff9..70f8de7 100644 --- a/projects/SynthIPRuntime/main.cpp +++ b/projects/SynthIPRuntime/main.cpp @@ -1,3 +1,5 @@ +#include "fp_util/sleep.h" + + #include #include #include - #include -@@ -657,6 +659,7 @@ int main(int argc, char **argv) { - size_t what_size = buff_size; +@@ -481,6 +483,7 @@ struct decompress_t { + } - while (what_size > 0) { -+ fp_util::sleep_for_millisecs(20); + if (state.state == state_t::READ_DATA) { ++ fp_util::busy_sleep_for_secs(10); + + size_t len = state.msg; - const unsigned char *whatd = (const unsigned char *)what->data(); - bool done = decompress.feed(whatd, whatd + what_size, extra); diff --git a/SynthIPTemplate/regression_1.patch b/SynthIPTemplate/regression_1.patch new file mode 100644 index 0000000..64ecdd7 --- /dev/null +++ b/SynthIPTemplate/regression_1.patch @@ -0,0 +1,18 @@ +diff --git a/projects/SynthIPTemplate/main.cpp b/projects/SynthIPTemplate/main.cpp +index 49bf78a..19d0962 100644 +--- a/projects/SynthIPTemplate/main.cpp ++++ b/projects/SynthIPTemplate/main.cpp +@@ -1,3 +1,5 @@ ++#include "fp_util/sleep.h" ++ + #include + #include + #include +@@ -483,6 +485,7 @@ struct decompress_t { + } + + if (state.state == state_t::READ_DATA) { ++ fp_util::busy_sleep_for_secs(10); + + size_t len = state.msg; + diff --git a/SynthIPTemplate2/regression_1.patch b/SynthIPTemplate2/regression_1.patch new file mode 100644 index 0000000..4d6b36c --- /dev/null +++ b/SynthIPTemplate2/regression_1.patch @@ -0,0 +1,18 @@ +diff --git a/projects/SynthIPTemplate2/main.cpp b/projects/SynthIPTemplate2/main.cpp +index 9e1283e..694e19f 100644 +--- a/projects/SynthIPTemplate2/main.cpp ++++ b/projects/SynthIPTemplate2/main.cpp +@@ -1,3 +1,5 @@ ++#include "fp_util/sleep.h" ++ + #include + #include + #include +@@ -483,6 +485,7 @@ struct decompress_t { + } + + if (state.state == state_t::READ_DATA) { ++ fp_util::busy_sleep_for_secs(10); + + size_t len = state.msg; + From 729afb6ce9f56b90fb820ef4f9b64dc508ff9a48 Mon Sep 17 00:00:00 2001 From: Florian Sattler Date: Tue, 26 Sep 2023 14:26:05 +0200 Subject: [PATCH 05/15] Adds info files --- SynthIPCombined/regression_1.info | 8 ++++++++ SynthIPRuntime/regression_1.info | 6 +++--- SynthIPTemplate/regression_1.info | 8 ++++++++ SynthIPTemplate2/regression_1.info | 8 ++++++++ 4 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 SynthIPCombined/regression_1.info create mode 100644 SynthIPTemplate/regression_1.info create mode 100644 SynthIPTemplate2/regression_1.info diff --git a/SynthIPCombined/regression_1.info b/SynthIPCombined/regression_1.info new file mode 100644 index 0000000..f495f53 --- /dev/null +++ b/SynthIPCombined/regression_1.info @@ -0,0 +1,8 @@ +description: "Inserts small regression into the data handling of the decompressor" +include_revisions: + revision_range: + start: 793035062810ea3a2d9a10f831cd199fbbb82090 + end: master +path: regression_1.patch +project_name: FeaturePerfCSCollection +shortname: reg_decompress_data diff --git a/SynthIPRuntime/regression_1.info b/SynthIPRuntime/regression_1.info index 25d2285..f495f53 100644 --- a/SynthIPRuntime/regression_1.info +++ b/SynthIPRuntime/regression_1.info @@ -1,8 +1,8 @@ -description: "TODO: fill in" +description: "Inserts small regression into the data handling of the decompressor" include_revisions: revision_range: - start: 4151c42ffeeb25e116ffb4a0803f242362ca90c9 + start: 793035062810ea3a2d9a10f831cd199fbbb82090 end: master path: regression_1.patch project_name: FeaturePerfCSCollection -shortname: todo_shortname +shortname: reg_decompress_data diff --git a/SynthIPTemplate/regression_1.info b/SynthIPTemplate/regression_1.info new file mode 100644 index 0000000..f495f53 --- /dev/null +++ b/SynthIPTemplate/regression_1.info @@ -0,0 +1,8 @@ +description: "Inserts small regression into the data handling of the decompressor" +include_revisions: + revision_range: + start: 793035062810ea3a2d9a10f831cd199fbbb82090 + end: master +path: regression_1.patch +project_name: FeaturePerfCSCollection +shortname: reg_decompress_data diff --git a/SynthIPTemplate2/regression_1.info b/SynthIPTemplate2/regression_1.info new file mode 100644 index 0000000..f495f53 --- /dev/null +++ b/SynthIPTemplate2/regression_1.info @@ -0,0 +1,8 @@ +description: "Inserts small regression into the data handling of the decompressor" +include_revisions: + revision_range: + start: 793035062810ea3a2d9a10f831cd199fbbb82090 + end: master +path: regression_1.patch +project_name: FeaturePerfCSCollection +shortname: reg_decompress_data From 5bd3b1048913b4c5404830427d0fafa9034bdf6f Mon Sep 17 00:00:00 2001 From: Florian Sattler Date: Thu, 5 Oct 2023 15:53:08 +0200 Subject: [PATCH 06/15] Adds tags to perf precision patches --- SynthDADynamicDispatch/regression_1.info | 3 +++ SynthDARecursion/regression_1.info | 3 +++ SynthFeatureInteraction/regression_1.info | 3 +++ SynthIPRuntime/regression_1.info | 3 +++ SynthOVInsideLoop/regression_1.info | 3 +++ SynthSAContextSensitivity/regression_1.info | 3 +++ SynthSAContextSensitivity/regression_2.info | 3 +++ SynthSAFlowSensitivity/regression_1.info | 3 +++ SynthSAWholeProgram/regression_1.info | 3 +++ SynthSAWholeProgram/regression_2.info | 3 +++ 10 files changed, 30 insertions(+) diff --git a/SynthDADynamicDispatch/regression_1.info b/SynthDADynamicDispatch/regression_1.info index 20c4bc4..49684d8 100644 --- a/SynthDADynamicDispatch/regression_1.info +++ b/SynthDADynamicDispatch/regression_1.info @@ -6,3 +6,6 @@ include_revisions: path: regression_1.patch project_name: FeaturePerfCSCollection shortname: regress_sorting +tags: +- regression +- perf_prec diff --git a/SynthDARecursion/regression_1.info b/SynthDARecursion/regression_1.info index 29e5989..ce00b1e 100644 --- a/SynthDARecursion/regression_1.info +++ b/SynthDARecursion/regression_1.info @@ -6,3 +6,6 @@ include_revisions: path: regression_1.patch project_name: FeaturePerfCSCollection shortname: regress_rec_limit +tags: +- regression +- perf_prec diff --git a/SynthFeatureInteraction/regression_1.info b/SynthFeatureInteraction/regression_1.info index 183f8cc..e544ed2 100644 --- a/SynthFeatureInteraction/regression_1.info +++ b/SynthFeatureInteraction/regression_1.info @@ -6,3 +6,6 @@ include_revisions: path: regression_1.patch project_name: FeaturePerfCSCollection shortname: regress_f1_f2_f3 +tags: +- regression +- perf_prec diff --git a/SynthIPRuntime/regression_1.info b/SynthIPRuntime/regression_1.info index f495f53..096ce7c 100644 --- a/SynthIPRuntime/regression_1.info +++ b/SynthIPRuntime/regression_1.info @@ -6,3 +6,6 @@ include_revisions: path: regression_1.patch project_name: FeaturePerfCSCollection shortname: reg_decompress_data +tags: +- regression +- perf_prec diff --git a/SynthOVInsideLoop/regression_1.info b/SynthOVInsideLoop/regression_1.info index 792635f..9740da2 100644 --- a/SynthOVInsideLoop/regression_1.info +++ b/SynthOVInsideLoop/regression_1.info @@ -6,3 +6,6 @@ include_revisions: path: regression_1.patch project_name: FeaturePerfCSCollection shortname: regress_verbosity +tags: +- regression +- perf_prec diff --git a/SynthSAContextSensitivity/regression_1.info b/SynthSAContextSensitivity/regression_1.info index d946f4c..29071ab 100644 --- a/SynthSAContextSensitivity/regression_1.info +++ b/SynthSAContextSensitivity/regression_1.info @@ -6,3 +6,6 @@ include_revisions: path: regression_1.patch project_name: FeaturePerfCSCollection shortname: regress_compress_memlimit +tags: +- regression +- perf_prec diff --git a/SynthSAContextSensitivity/regression_2.info b/SynthSAContextSensitivity/regression_2.info index 0df0ceb..ed2ef00 100644 --- a/SynthSAContextSensitivity/regression_2.info +++ b/SynthSAContextSensitivity/regression_2.info @@ -6,3 +6,6 @@ include_revisions: path: regression_2.patch project_name: FeaturePerfCSCollection shortname: regress_memlimit +tags: +- regression +- perf_prec diff --git a/SynthSAFlowSensitivity/regression_1.info b/SynthSAFlowSensitivity/regression_1.info index 80e47af..0b6b227 100644 --- a/SynthSAFlowSensitivity/regression_1.info +++ b/SynthSAFlowSensitivity/regression_1.info @@ -6,3 +6,6 @@ include_revisions: path: regression_1.patch project_name: FeaturePerfCSCollection shortname: regress_rec_fib_onesec +tags: +- regression +- perf_prec diff --git a/SynthSAWholeProgram/regression_1.info b/SynthSAWholeProgram/regression_1.info index fad122f..c9b5517 100644 --- a/SynthSAWholeProgram/regression_1.info +++ b/SynthSAWholeProgram/regression_1.info @@ -6,3 +6,6 @@ include_revisions: path: regression_1.patch project_name: FeaturePerfCSCollection shortname: regress_naive_search +tags: +- regression +- perf_prec diff --git a/SynthSAWholeProgram/regression_2.info b/SynthSAWholeProgram/regression_2.info index d1883b3..0f802f9 100644 --- a/SynthSAWholeProgram/regression_2.info +++ b/SynthSAWholeProgram/regression_2.info @@ -6,3 +6,6 @@ include_revisions: path: regression_2.patch project_name: FeaturePerfCSCollection shortname: regress_library_search +tags: +- regression +- perf_prec From 8ad0676e2af0ec90c1f382b757c80079d3a936bc Mon Sep 17 00:00:00 2001 From: Florian Sattler Date: Thu, 5 Oct 2023 16:38:08 +0200 Subject: [PATCH 07/15] Adds regression for pattern counting --- SynthSAWholeProgram/regression_3.info | 11 +++++++++++ SynthSAWholeProgram/regression_3.patch | 15 +++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 SynthSAWholeProgram/regression_3.info create mode 100644 SynthSAWholeProgram/regression_3.patch diff --git a/SynthSAWholeProgram/regression_3.info b/SynthSAWholeProgram/regression_3.info new file mode 100644 index 0000000..e414d52 --- /dev/null +++ b/SynthSAWholeProgram/regression_3.info @@ -0,0 +1,11 @@ +description: "Patch that adds a regression that affects pattern counting" +include_revisions: + revision_range: + start: 06eac0edb6886a7e487867c8d5629cb2409b54fd + end: master +path: regression_3.patch +project_name: FeaturePerfCSCollection +shortname: regress_pattern_counting +tags: +- regression +- perf_prec diff --git a/SynthSAWholeProgram/regression_3.patch b/SynthSAWholeProgram/regression_3.patch new file mode 100644 index 0000000..4d2e83a --- /dev/null +++ b/SynthSAWholeProgram/regression_3.patch @@ -0,0 +1,15 @@ +diff --git a/projects/SynthSAWholeProgram/service.cpp b/projects/SynthSAWholeProgram/service.cpp +index df02f6d..1a0d496 100644 +--- a/projects/SynthSAWholeProgram/service.cpp ++++ b/projects/SynthSAWholeProgram/service.cpp +@@ -2,7 +2,10 @@ + #include "compute.h" + #include "config.h" + ++#include "fp_util/sleep.h" ++ + uint64_t countPattern(std::string_view Data, std::string_view Pattern) { ++ fp_util::busy_sleep_for_secs(1); + return getPatternIdxs(Data, Pattern).size(); + } + From 7c82b8a6232a2da69a1bf5036b297b56d83f5d78 Mon Sep 17 00:00:00 2001 From: Florian Sattler Date: Thu, 5 Oct 2023 16:52:59 +0200 Subject: [PATCH 08/15] Adds more regressions for dynamic dispatch CS --- SynthDADynamicDispatch/regression_2.info | 11 +++++++++++ SynthDADynamicDispatch/regression_2.patch | 13 +++++++++++++ SynthDADynamicDispatch/regression_3.info | 11 +++++++++++ SynthDADynamicDispatch/regression_3.patch | 13 +++++++++++++ SynthDADynamicDispatch/regression_4.info | 11 +++++++++++ SynthDADynamicDispatch/regression_4.patch | 22 ++++++++++++++++++++++ 6 files changed, 81 insertions(+) create mode 100644 SynthDADynamicDispatch/regression_2.info create mode 100644 SynthDADynamicDispatch/regression_2.patch create mode 100644 SynthDADynamicDispatch/regression_3.info create mode 100644 SynthDADynamicDispatch/regression_3.patch create mode 100644 SynthDADynamicDispatch/regression_4.info create mode 100644 SynthDADynamicDispatch/regression_4.patch diff --git a/SynthDADynamicDispatch/regression_2.info b/SynthDADynamicDispatch/regression_2.info new file mode 100644 index 0000000..9cececc --- /dev/null +++ b/SynthDADynamicDispatch/regression_2.info @@ -0,0 +1,11 @@ +description: "Patch that adds a regression that only affects hash-based searchers" +include_revisions: + revision_range: + start: 04de0642afe35a42931e03c670b588e8f294dcfc + end: master +path: regression_1.patch +project_name: FeaturePerfCSCollection +shortname: regress_hashing +tags: +- regression +- perf_prec diff --git a/SynthDADynamicDispatch/regression_2.patch b/SynthDADynamicDispatch/regression_2.patch new file mode 100644 index 0000000..24034d7 --- /dev/null +++ b/SynthDADynamicDispatch/regression_2.patch @@ -0,0 +1,13 @@ +diff --git a/projects/SynthDADynamicDispatch/main.cpp b/projects/SynthDADynamicDispatch/main.cpp +index 90d60c3..d3d601a 100644 +--- a/projects/SynthDADynamicDispatch/main.cpp ++++ b/projects/SynthDADynamicDispatch/main.cpp +@@ -99,7 +99,7 @@ public: + std::unordered_map Map; + + for (int i = 0; i < Data.size(); i++) { +- fp_util::sleep_for_millisecs(100); ++ fp_util::sleep_for_millisecs(200); + if (auto Entry = Map.find(TargetSum - Data[i]); Entry != Map.end()) { + return {std::tuple{Data[Entry->second], Data[i]}}; + } diff --git a/SynthDADynamicDispatch/regression_3.info b/SynthDADynamicDispatch/regression_3.info new file mode 100644 index 0000000..4ff4e16 --- /dev/null +++ b/SynthDADynamicDispatch/regression_3.info @@ -0,0 +1,11 @@ +description: "Patch that adds a regression that only affects brut-force searchers" +include_revisions: + revision_range: + start: 04de0642afe35a42931e03c670b588e8f294dcfc + end: master +path: regression_3.patch +project_name: FeaturePerfCSCollection +shortname: regress_brut_force +tags: +- regression +- perf_prec diff --git a/SynthDADynamicDispatch/regression_3.patch b/SynthDADynamicDispatch/regression_3.patch new file mode 100644 index 0000000..11370d3 --- /dev/null +++ b/SynthDADynamicDispatch/regression_3.patch @@ -0,0 +1,13 @@ +diff --git a/projects/SynthDADynamicDispatch/main.cpp b/projects/SynthDADynamicDispatch/main.cpp +index 90d60c3..9284fe9 100644 +--- a/projects/SynthDADynamicDispatch/main.cpp ++++ b/projects/SynthDADynamicDispatch/main.cpp +@@ -43,7 +43,7 @@ public: + + for (int i = 0; i < Data.size() - 1; i++) { + for (int j = i + 1; j < Data.size(); j++) { +- fp_util::sleep_for_millisecs(100); ++ fp_util::sleep_for_millisecs(200); + if (Data[i] + Data[j] == TargetSum) { + return {std::tuple{Data[i], Data[j]}}; + } diff --git a/SynthDADynamicDispatch/regression_4.info b/SynthDADynamicDispatch/regression_4.info new file mode 100644 index 0000000..1690b5e --- /dev/null +++ b/SynthDADynamicDispatch/regression_4.info @@ -0,0 +1,11 @@ +description: "Patch that adds a regression that affects brut-force and hash-based searchers" +include_revisions: + revision_range: + start: 04de0642afe35a42931e03c670b588e8f294dcfc + end: master +path: regression_4.patch +project_name: FeaturePerfCSCollection +shortname: regress_brut_force_and_hash +tags: +- regression +- perf_prec diff --git a/SynthDADynamicDispatch/regression_4.patch b/SynthDADynamicDispatch/regression_4.patch new file mode 100644 index 0000000..e00a286 --- /dev/null +++ b/SynthDADynamicDispatch/regression_4.patch @@ -0,0 +1,22 @@ +diff --git a/projects/SynthDADynamicDispatch/main.cpp b/projects/SynthDADynamicDispatch/main.cpp +index 90d60c3..2aad890 100644 +--- a/projects/SynthDADynamicDispatch/main.cpp ++++ b/projects/SynthDADynamicDispatch/main.cpp +@@ -43,7 +43,7 @@ public: + + for (int i = 0; i < Data.size() - 1; i++) { + for (int j = i + 1; j < Data.size(); j++) { +- fp_util::sleep_for_millisecs(100); ++ fp_util::sleep_for_millisecs(200); + if (Data[i] + Data[j] == TargetSum) { + return {std::tuple{Data[i], Data[j]}}; + } +@@ -99,7 +99,7 @@ public: + std::unordered_map Map; + + for (int i = 0; i < Data.size(); i++) { +- fp_util::sleep_for_millisecs(100); ++ fp_util::sleep_for_millisecs(200); + if (auto Entry = Map.find(TargetSum - Data[i]); Entry != Map.end()) { + return {std::tuple{Data[Entry->second], Data[i]}}; + } From 356454ee04384eb301aaeb061a139a33679c0fa7 Mon Sep 17 00:00:00 2001 From: Florian Sattler Date: Thu, 5 Oct 2023 16:58:21 +0200 Subject: [PATCH 09/15] Adds another regressions to recursion --- SynthDARecursion/regression_2.info | 11 +++++++++++ SynthDARecursion/regression_2.patch | 12 ++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 SynthDARecursion/regression_2.info create mode 100644 SynthDARecursion/regression_2.patch diff --git a/SynthDARecursion/regression_2.info b/SynthDARecursion/regression_2.info new file mode 100644 index 0000000..2667b3b --- /dev/null +++ b/SynthDARecursion/regression_2.info @@ -0,0 +1,11 @@ +description: "Patch that adds a regression that only affects reverse" +include_revisions: + revision_range: + start: daf81de0738cb861b800c4dae1a805e8dabaa544 + end: master +path: regression_2.patch +project_name: FeaturePerfCSCollection +shortname: regress_reverse +tags: +- regression +- perf_prec diff --git a/SynthDARecursion/regression_2.patch b/SynthDARecursion/regression_2.patch new file mode 100644 index 0000000..ceedbfd --- /dev/null +++ b/SynthDARecursion/regression_2.patch @@ -0,0 +1,12 @@ +diff --git a/projects/SynthDARecursion/main.cpp b/projects/SynthDARecursion/main.cpp +index 39a1e7c..1397c17 100644 +--- a/projects/SynthDARecursion/main.cpp ++++ b/projects/SynthDARecursion/main.cpp +@@ -66,6 +66,7 @@ int main(int argc, char *argv[]) { + RecLimit = fp_util::getFeatureValue(argc, argv, "--limit", 4096); + + if (Reverse) { ++ fp_util::busy_sleep_for_millisecs(400); + std::reverse(InputString.begin(), InputString.end()); + } + From 7afd57c99dd574833a0f7e028fb21f3d8aa355c6 Mon Sep 17 00:00:00 2001 From: Florian Sattler Date: Thu, 5 Oct 2023 17:49:19 +0200 Subject: [PATCH 10/15] Another feature interaction --- SynthFeatureInteraction/regression_2.info | 11 +++++++++++ SynthFeatureInteraction/regression_2.patch | 12 ++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 SynthFeatureInteraction/regression_2.info create mode 100644 SynthFeatureInteraction/regression_2.patch diff --git a/SynthFeatureInteraction/regression_2.info b/SynthFeatureInteraction/regression_2.info new file mode 100644 index 0000000..3c2aa58 --- /dev/null +++ b/SynthFeatureInteraction/regression_2.info @@ -0,0 +1,11 @@ +description: "Patch that adds a regression that only affects configs with F1 and F2" +include_revisions: + revision_range: + start: daf81de0738cb861b800c4dae1a805e8dabaa544 + end: master +path: regression_2.patch +project_name: FeaturePerfCSCollection +shortname: regress_f1_f2 +tags: +- regression +- perf_prec diff --git a/SynthFeatureInteraction/regression_2.patch b/SynthFeatureInteraction/regression_2.patch new file mode 100644 index 0000000..2ada577 --- /dev/null +++ b/SynthFeatureInteraction/regression_2.patch @@ -0,0 +1,12 @@ +diff --git a/projects/SynthFeatureInteraction/main.cpp b/projects/SynthFeatureInteraction/main.cpp +index 5f5029e..994844b 100644 +--- a/projects/SynthFeatureInteraction/main.cpp ++++ b/projects/SynthFeatureInteraction/main.cpp +@@ -52,6 +52,7 @@ int main(int argc, char *argv[]) { + fp_util::sleep_for_millisecs(111); + + if (F1 && F2 || F3) { ++ fp_util::sleep_for_millisecs(140); + fp_util::sleep_for_millisecs(132); + } + From 1f6ce077b727f610f552cf253a422f88d1b8f1b8 Mon Sep 17 00:00:00 2001 From: Florian Sattler Date: Thu, 5 Oct 2023 18:04:52 +0200 Subject: [PATCH 11/15] Adds compression regression for IP case studies --- SynthIPCombined/regression_2.info | 11 +++++++++++ SynthIPCombined/regression_2.patch | 21 +++++++++++++++++++++ SynthIPRuntime/regression_2.info | 11 +++++++++++ SynthIPRuntime/regression_2.patch | 21 +++++++++++++++++++++ SynthIPTemplate/regression_2.info | 11 +++++++++++ SynthIPTemplate/regression_2.patch | 21 +++++++++++++++++++++ SynthIPTemplate2/regression_2.info | 11 +++++++++++ SynthIPTemplate2/regression_2.patch | 21 +++++++++++++++++++++ 8 files changed, 128 insertions(+) create mode 100644 SynthIPCombined/regression_2.info create mode 100644 SynthIPCombined/regression_2.patch create mode 100644 SynthIPRuntime/regression_2.info create mode 100644 SynthIPRuntime/regression_2.patch create mode 100644 SynthIPTemplate/regression_2.info create mode 100644 SynthIPTemplate/regression_2.patch create mode 100644 SynthIPTemplate2/regression_2.info create mode 100644 SynthIPTemplate2/regression_2.patch diff --git a/SynthIPCombined/regression_2.info b/SynthIPCombined/regression_2.info new file mode 100644 index 0000000..1394e33 --- /dev/null +++ b/SynthIPCombined/regression_2.info @@ -0,0 +1,11 @@ +description: "Inserts small regression into the data handling of the compressor" +include_revisions: + revision_range: + start: 793035062810ea3a2d9a10f831cd199fbbb82090 + end: master +path: regression_2.patch +project_name: FeaturePerfCSCollection +shortname: reg_compress_data +tags: +- regression +- perf_prec diff --git a/SynthIPCombined/regression_2.patch b/SynthIPCombined/regression_2.patch new file mode 100644 index 0000000..a366801 --- /dev/null +++ b/SynthIPCombined/regression_2.patch @@ -0,0 +1,21 @@ +diff --git a/projects/SynthIPCombined/main.cpp b/projects/SynthIPCombined/main.cpp +index e6685d5..e122ad4 100644 +--- a/projects/SynthIPCombined/main.cpp ++++ b/projects/SynthIPCombined/main.cpp +@@ -4,6 +4,8 @@ + #include + #include + ++#include "fp_util/sleep.h" ++ + /// This is a synthetic case study using templates and load-time parameters + /// for configuration. + /// +@@ -266,6 +268,7 @@ struct compress_t { + size_t blocksize = offsets.blocksize; + + while (i != e) { ++ fp_util::busy_sleep_for_millisecs(10); + + unsigned char c = *i; + diff --git a/SynthIPRuntime/regression_2.info b/SynthIPRuntime/regression_2.info new file mode 100644 index 0000000..1394e33 --- /dev/null +++ b/SynthIPRuntime/regression_2.info @@ -0,0 +1,11 @@ +description: "Inserts small regression into the data handling of the compressor" +include_revisions: + revision_range: + start: 793035062810ea3a2d9a10f831cd199fbbb82090 + end: master +path: regression_2.patch +project_name: FeaturePerfCSCollection +shortname: reg_compress_data +tags: +- regression +- perf_prec diff --git a/SynthIPRuntime/regression_2.patch b/SynthIPRuntime/regression_2.patch new file mode 100644 index 0000000..de537f1 --- /dev/null +++ b/SynthIPRuntime/regression_2.patch @@ -0,0 +1,21 @@ +diff --git a/projects/SynthIPRuntime/main.cpp b/projects/SynthIPRuntime/main.cpp +index ede9ff9..a5c27f5 100644 +--- a/projects/SynthIPRuntime/main.cpp ++++ b/projects/SynthIPRuntime/main.cpp +@@ -4,6 +4,8 @@ + #include + #include + ++#include "fp_util/sleep.h" ++ + /// This is a synthetic case study using load-time configuration. + /// + /// Features: +@@ -265,6 +267,7 @@ struct compress_t { + size_t blocksize = offsets.blocksize; + + while (i != e) { ++ fp_util::busy_sleep_for_millisecs(10); + + unsigned char c = *i; + diff --git a/SynthIPTemplate/regression_2.info b/SynthIPTemplate/regression_2.info new file mode 100644 index 0000000..1394e33 --- /dev/null +++ b/SynthIPTemplate/regression_2.info @@ -0,0 +1,11 @@ +description: "Inserts small regression into the data handling of the compressor" +include_revisions: + revision_range: + start: 793035062810ea3a2d9a10f831cd199fbbb82090 + end: master +path: regression_2.patch +project_name: FeaturePerfCSCollection +shortname: reg_compress_data +tags: +- regression +- perf_prec diff --git a/SynthIPTemplate/regression_2.patch b/SynthIPTemplate/regression_2.patch new file mode 100644 index 0000000..efc4851 --- /dev/null +++ b/SynthIPTemplate/regression_2.patch @@ -0,0 +1,21 @@ +diff --git a/projects/SynthIPTemplate/main.cpp b/projects/SynthIPTemplate/main.cpp +index 49bf78a..fbdd502 100644 +--- a/projects/SynthIPTemplate/main.cpp ++++ b/projects/SynthIPTemplate/main.cpp +@@ -4,6 +4,8 @@ + #include + #include + ++#include "fp_util/sleep.h" ++ + /// This is a synthetic case study using templates for configuration. + /// Not all features can be properly annotated into the source code because + /// they happen at compile time. +@@ -267,6 +269,7 @@ struct compress_t { + size_t blocksize = offsets.blocksize; + + while (i != e) { ++ fp_util::busy_sleep_for_millisecs(10); + + unsigned char c = *i; + diff --git a/SynthIPTemplate2/regression_2.info b/SynthIPTemplate2/regression_2.info new file mode 100644 index 0000000..1394e33 --- /dev/null +++ b/SynthIPTemplate2/regression_2.info @@ -0,0 +1,11 @@ +description: "Inserts small regression into the data handling of the compressor" +include_revisions: + revision_range: + start: 793035062810ea3a2d9a10f831cd199fbbb82090 + end: master +path: regression_2.patch +project_name: FeaturePerfCSCollection +shortname: reg_compress_data +tags: +- regression +- perf_prec diff --git a/SynthIPTemplate2/regression_2.patch b/SynthIPTemplate2/regression_2.patch new file mode 100644 index 0000000..2ba67c3 --- /dev/null +++ b/SynthIPTemplate2/regression_2.patch @@ -0,0 +1,21 @@ +diff --git a/projects/SynthIPTemplate2/main.cpp b/projects/SynthIPTemplate2/main.cpp +index 9e1283e..5941c29 100644 +--- a/projects/SynthIPTemplate2/main.cpp ++++ b/projects/SynthIPTemplate2/main.cpp +@@ -4,6 +4,8 @@ + #include + #include + ++#include "fp_util/sleep.h" ++ + /// This is a synthetic case study using templates for configuration. + /// This implementation defers some configuration-dependent computations + /// until runtime. Therefore, all features can be annotated. +@@ -267,6 +269,7 @@ struct compress_t { + size_t blocksize = offsets.blocksize; + + while (i != e) { ++ fp_util::busy_sleep_for_millisecs(10); + + unsigned char c = *i; + From 138738f6ee3c2e2b5eaab8d16e4cbdc83505ec78 Mon Sep 17 00:00:00 2001 From: Florian Sattler Date: Thu, 5 Oct 2023 18:16:36 +0200 Subject: [PATCH 12/15] Adds tags --- SynthIPCombined/regression_1.info | 3 +++ SynthIPTemplate/regression_1.info | 3 +++ SynthIPTemplate2/regression_1.info | 3 +++ 3 files changed, 9 insertions(+) diff --git a/SynthIPCombined/regression_1.info b/SynthIPCombined/regression_1.info index f495f53..096ce7c 100644 --- a/SynthIPCombined/regression_1.info +++ b/SynthIPCombined/regression_1.info @@ -6,3 +6,6 @@ include_revisions: path: regression_1.patch project_name: FeaturePerfCSCollection shortname: reg_decompress_data +tags: +- regression +- perf_prec diff --git a/SynthIPTemplate/regression_1.info b/SynthIPTemplate/regression_1.info index f495f53..096ce7c 100644 --- a/SynthIPTemplate/regression_1.info +++ b/SynthIPTemplate/regression_1.info @@ -6,3 +6,6 @@ include_revisions: path: regression_1.patch project_name: FeaturePerfCSCollection shortname: reg_decompress_data +tags: +- regression +- perf_prec diff --git a/SynthIPTemplate2/regression_1.info b/SynthIPTemplate2/regression_1.info index f495f53..096ce7c 100644 --- a/SynthIPTemplate2/regression_1.info +++ b/SynthIPTemplate2/regression_1.info @@ -6,3 +6,6 @@ include_revisions: path: regression_1.patch project_name: FeaturePerfCSCollection shortname: reg_decompress_data +tags: +- regression +- perf_prec From c1d71fd9ad1ac32575833557fcddfc93190df1d3 Mon Sep 17 00:00:00 2001 From: Florian Sattler Date: Fri, 6 Oct 2023 07:57:19 +0200 Subject: [PATCH 13/15] Adds regressions patches for field sense (still needs adaption) --- SynthSAFieldSensitivity/regression_1.info | 11 +++++++++++ SynthSAFieldSensitivity/regression_1.patch | 21 +++++++++++++++++++++ SynthSAFieldSensitivity/regression_2.info | 11 +++++++++++ SynthSAFieldSensitivity/regression_2.patch | 21 +++++++++++++++++++++ 4 files changed, 64 insertions(+) create mode 100644 SynthSAFieldSensitivity/regression_1.info create mode 100644 SynthSAFieldSensitivity/regression_1.patch create mode 100644 SynthSAFieldSensitivity/regression_2.info create mode 100644 SynthSAFieldSensitivity/regression_2.patch diff --git a/SynthSAFieldSensitivity/regression_1.info b/SynthSAFieldSensitivity/regression_1.info new file mode 100644 index 0000000..08e5e1a --- /dev/null +++ b/SynthSAFieldSensitivity/regression_1.info @@ -0,0 +1,11 @@ +description: "Inserts small regression into the data handling of the decompressor" +include_revisions: + revision_range: + start: TODO + end: master +path: regression_1.patch +project_name: FeaturePerfCSCollection +shortname: reg_decompress_data +tags: +- regression +- perf_prec diff --git a/SynthSAFieldSensitivity/regression_1.patch b/SynthSAFieldSensitivity/regression_1.patch new file mode 100644 index 0000000..a4cb672 --- /dev/null +++ b/SynthSAFieldSensitivity/regression_1.patch @@ -0,0 +1,21 @@ +diff --git a/projects/SynthSAFieldSensitivity/main.cpp b/projects/SynthSAFieldSensitivity/main.cpp +index 1d0d963..9108ee3 100644 +--- a/projects/SynthSAFieldSensitivity/main.cpp ++++ b/projects/SynthSAFieldSensitivity/main.cpp +@@ -4,6 +4,8 @@ + #include + #include + ++#include "fp_util/sleep.h" ++ + struct Configuration { + bool __attribute__((feature_variable("compress"))) compress = false; + bool __attribute__((feature_variable("decompress"))) decompress = false; +@@ -490,6 +492,7 @@ struct decompress_t { + } + + if (state.state == state_t::READ_DATA) { ++ fp_util::busy_sleep_for_millisecs(10); + + size_t len = state.msg; + diff --git a/SynthSAFieldSensitivity/regression_2.info b/SynthSAFieldSensitivity/regression_2.info new file mode 100644 index 0000000..cdc7cd3 --- /dev/null +++ b/SynthSAFieldSensitivity/regression_2.info @@ -0,0 +1,11 @@ +description: "Inserts small regression into the data handling of the compressor" +include_revisions: + revision_range: + start: TODO + end: master +path: regression_2.patch +project_name: FeaturePerfCSCollection +shortname: reg_compress_data +tags: +- regression +- perf_prec diff --git a/SynthSAFieldSensitivity/regression_2.patch b/SynthSAFieldSensitivity/regression_2.patch new file mode 100644 index 0000000..e20dc73 --- /dev/null +++ b/SynthSAFieldSensitivity/regression_2.patch @@ -0,0 +1,21 @@ +diff --git a/projects/SynthSAFieldSensitivity/main.cpp b/projects/SynthSAFieldSensitivity/main.cpp +index 1d0d963..52500ef 100644 +--- a/projects/SynthSAFieldSensitivity/main.cpp ++++ b/projects/SynthSAFieldSensitivity/main.cpp +@@ -4,6 +4,8 @@ + #include + #include + ++#include "fp_util/sleep.h" ++ + struct Configuration { + bool __attribute__((feature_variable("compress"))) compress = false; + bool __attribute__((feature_variable("decompress"))) decompress = false; +@@ -274,6 +276,7 @@ struct compress_t { + size_t blocksize = offsets.blocksize; + + while (i != e) { ++ fp_util::busy_sleep_for_millisecs(10); + + unsigned char c = *i; + From 8ec48151eb36ab2815122db10be35eda91770ef5 Mon Sep 17 00:00:00 2001 From: Florian Sattler Date: Fri, 6 Oct 2023 07:58:32 +0200 Subject: [PATCH 14/15] Adap patch --- SynthSAFieldSensitivity/regression_1.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SynthSAFieldSensitivity/regression_1.patch b/SynthSAFieldSensitivity/regression_1.patch index a4cb672..93da21f 100644 --- a/SynthSAFieldSensitivity/regression_1.patch +++ b/SynthSAFieldSensitivity/regression_1.patch @@ -15,7 +15,7 @@ index 1d0d963..9108ee3 100644 } if (state.state == state_t::READ_DATA) { -+ fp_util::busy_sleep_for_millisecs(10); ++ fp_util::busy_sleep_for_secs(10); size_t len = state.msg; From 564be4c27b0002ba502a0dc40d0d0173faaec8d3 Mon Sep 17 00:00:00 2001 From: Florian Sattler Date: Fri, 6 Oct 2023 09:17:25 +0200 Subject: [PATCH 15/15] Apply suggestions from code review --- SynthSAFieldSensitivity/regression_1.info | 2 +- SynthSAFieldSensitivity/regression_2.info | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/SynthSAFieldSensitivity/regression_1.info b/SynthSAFieldSensitivity/regression_1.info index 08e5e1a..1f88f0e 100644 --- a/SynthSAFieldSensitivity/regression_1.info +++ b/SynthSAFieldSensitivity/regression_1.info @@ -1,7 +1,7 @@ description: "Inserts small regression into the data handling of the decompressor" include_revisions: revision_range: - start: TODO + start: 6d50a6efd57ee7ca2a7749758a65fd6c203f8e57 end: master path: regression_1.patch project_name: FeaturePerfCSCollection diff --git a/SynthSAFieldSensitivity/regression_2.info b/SynthSAFieldSensitivity/regression_2.info index cdc7cd3..0149b50 100644 --- a/SynthSAFieldSensitivity/regression_2.info +++ b/SynthSAFieldSensitivity/regression_2.info @@ -1,7 +1,7 @@ description: "Inserts small regression into the data handling of the compressor" include_revisions: revision_range: - start: TODO + start: 6d50a6efd57ee7ca2a7749758a65fd6c203f8e57 end: master path: regression_2.patch project_name: FeaturePerfCSCollection