diff options
author | TCWG BuildSlave <tcwg-buildslave@linaro.org> | 2023-12-27 21:44:32 +0000 |
---|---|---|
committer | TCWG BuildSlave <tcwg-buildslave@linaro.org> | 2023-12-27 21:45:01 +0000 |
commit | 6277405d5e3671cc2998db561ea4d229ab9c773e (patch) | |
tree | 7bbd48871a903e72625676e56a463e9e246e227b /notify | |
parent | 9c02605e05b7b4d05c4b226b0992cb8524c80512 (diff) |
force: #134: 1: [TCWG CI] https://ci.linaro.org/job/tcwg_bmk-code_speed-spec2k6--llvm-arm-master-O3-build/134/
Results :
| # reset_artifacts:
| -10
| # build_bmk_llvm:
| -3
| # benchmark -- -O3_marm:
| 1
| # [.] __vfscanf_internal,slowed down by 100% - 444.namd:[.] __vfscanf_internal - from 1 to 2 perf samples
check_regression status : 1
Diffstat (limited to 'notify')
-rw-r--r-- | notify/any.skipped | 3 | ||||
-rw-r--r-- | notify/extra-bisect-params | 2 | ||||
-rw-r--r-- | notify/jira/comment-card.txt | 3 | ||||
-rw-r--r-- | notify/jira/comment-template.txt | 5 | ||||
-rw-r--r-- | notify/jira/components | 1 | ||||
-rw-r--r-- | notify/jira/description | 19 | ||||
-rw-r--r-- | notify/jira/key | 1 | ||||
-rw-r--r-- | notify/jira/startdate | 1 | ||||
-rw-r--r-- | notify/jira/summary | 1 | ||||
-rw-r--r-- | notify/jira/yaml | 27 | ||||
-rw-r--r-- | notify/lnt_report.json | 181 | ||||
-rw-r--r-- | notify/mail-body.txt | 37 | ||||
-rw-r--r-- | notify/mail-subject.txt | 2 | ||||
-rw-r--r-- | notify/output-bmk-results.log | 476 | ||||
-rw-r--r-- | notify/results.regressions | 3 | ||||
-rw-r--r-- | notify/symbol.improvement | 2 | ||||
-rw-r--r-- | notify/symbol.regression | 3 |
17 files changed, 436 insertions, 331 deletions
diff --git a/notify/any.skipped b/notify/any.skipped new file mode 100644 index 0000000..303e923 --- /dev/null +++ b/notify/any.skipped @@ -0,0 +1,3 @@ +403.gcc,gcc_base.default,slowed down by 5% - 403.gcc,slowed down by 5% - 403.gcc - from 133 to 140 perf samples
+482.sphinx3,sphinx_livepretend_base.default,slowed down by 100% - 482.sphinx3,slowed down by 100% - 482.sphinx3 - from 1 to 2 perf samples
+450.soplex,[.] _ZN6soplex5SPxLP7readMPSERSiPNS_7NameSetES3_PNS_7DIdxSetE,slowed down by 200% - 450.soplex:[.] _ZN6soplex5SPxLP7readMPSERSiPNS_7NameSetES3_PNS_7DIdxSetE,slowed down by 200% - 450.soplex:[.] _ZN6soplex5SPxLP7readMPSERSiPNS_7NameSetES3_PNS_7DIdxSetE - from 1 to 3 perf samples
diff --git a/notify/extra-bisect-params b/notify/extra-bisect-params index bc74cf1..eddf41b 100644 --- a/notify/extra-bisect-params +++ b/notify/extra-bisect-params @@ -1 +1 @@ -extra_build_params=++benchmarks 482.sphinx3 ++benchmarks 482.sphinx3 +extra_build_params=++benchmarks 444.namd diff --git a/notify/jira/comment-card.txt b/notify/jira/comment-card.txt new file mode 100644 index 0000000..22cafbe --- /dev/null +++ b/notify/jira/comment-card.txt @@ -0,0 +1,3 @@ +[LLVM-1070] +slowed down by 100% - 444.namd:[.] __vfscanf_internal +Details: https://ci.linaro.org/job/tcwg_bmk-code_speed-spec2k6--llvm-arm-master-O3-build/134/artifact/artifacts/notify/mail-body.txt/*view*/ diff --git a/notify/jira/comment-template.txt b/notify/jira/comment-template.txt index 063ca1e..bee05df 100644 --- a/notify/jira/comment-template.txt +++ b/notify/jira/comment-template.txt @@ -1,3 +1,4 @@ [LLVM-651] -slowed down by 200% - 482.sphinx3:[.] __vfscanf_internal -Details: https://ci.linaro.org/job/tcwg_bmk-code_speed-spec2k6--llvm-arm-master-O3-build/133/artifact/artifacts/notify/mail-body.txt/*view*/ +https://linaro.atlassian.net/browse/LLVM-1070 +slowed down by 100% - 444.namd:[.] __vfscanf_internal +Details: https://ci.linaro.org/job/tcwg_bmk-code_speed-spec2k6--llvm-arm-master-O3-build/134/artifact/artifacts/notify/mail-body.txt/*view*/ diff --git a/notify/jira/components b/notify/jira/components new file mode 100644 index 0000000..8072713 --- /dev/null +++ b/notify/jira/components @@ -0,0 +1 @@ +LLVM diff --git a/notify/jira/description b/notify/jira/description new file mode 100644 index 0000000..a1ec56b --- /dev/null +++ b/notify/jira/description @@ -0,0 +1,19 @@ +Commit: https://github.com/llvm/llvm-project/commit/b03f0c596a180399f7730ed75d78055c81b3d771 +commit llvmorg-18-init-15417-gb03f0c596a18 +Author: Craig Topper <craig.topper@sifive.com> +Date: Wed Dec 20 09:52:02 2023 -0800 + + [RISCV] Add sifive-p450 CPU. (#75760) + + This is an out of order core with no vector unit. More information: + https://www.sifive.com/cores/performance-p450-470 + + Scheduler model and other tuning will come in separate patches. + +* tcwg_bmk-code_speed-spec2k6 +** llvm-arm-master-O3 +*** slowed down by 100% - 444.namd:[.] __vfscanf_internal +*** https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/llvm/sha1/b03f0c596a180399f7730ed75d78055c81b3d771/tcwg_bmk-code_speed-spec2k6/llvm-arm-master-O3/details.txt +*** https://ci.linaro.org/job/tcwg_bmk-code_speed-spec2k6--llvm-arm-master-O3-build/134/artifact/artifacts + +Latest data: https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/llvm/sha1/b03f0c596a180399f7730ed75d78055c81b3d771/jira/yaml diff --git a/notify/jira/key b/notify/jira/key new file mode 100644 index 0000000..e36fa20 --- /dev/null +++ b/notify/jira/key @@ -0,0 +1 @@ +LLVM-1070 diff --git a/notify/jira/startdate b/notify/jira/startdate new file mode 100644 index 0000000..23a83d4 --- /dev/null +++ b/notify/jira/startdate @@ -0,0 +1 @@ +2023-12-20 diff --git a/notify/jira/summary b/notify/jira/summary new file mode 100644 index 0000000..efa263f --- /dev/null +++ b/notify/jira/summary @@ -0,0 +1 @@ +llvmorg-18-init-15417-gb03f0c596a18: slowed down by 100% - 444.namd:[.] __vfscanf_internal diff --git a/notify/jira/yaml b/notify/jira/yaml new file mode 100644 index 0000000..b25a581 --- /dev/null +++ b/notify/jira/yaml @@ -0,0 +1,27 @@ +- Project: LLVM + IssueType: Sub-task + Key: LLVM-1070 + Summary: | + llvmorg-18-init-15417-gb03f0c596a18: slowed down by 100% - 444.namd:[.] __vfscanf_internal + Components: LLVM + Start date: 2023-12-20 + Description: | + Commit: https://github.com/llvm/llvm-project/commit/b03f0c596a180399f7730ed75d78055c81b3d771 + commit llvmorg-18-init-15417-gb03f0c596a18 + Author: Craig Topper <craig.topper@sifive.com> + Date: Wed Dec 20 09:52:02 2023 -0800 + + [RISCV] Add sifive-p450 CPU. (#75760) + + This is an out of order core with no vector unit. More information: + https://www.sifive.com/cores/performance-p450-470 + + Scheduler model and other tuning will come in separate patches. + + * tcwg_bmk-code_speed-spec2k6 + ** llvm-arm-master-O3 + *** slowed down by 100% - 444.namd:[.] __vfscanf_internal + *** https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/llvm/sha1/b03f0c596a180399f7730ed75d78055c81b3d771/tcwg_bmk-code_speed-spec2k6/llvm-arm-master-O3/details.txt + *** https://ci.linaro.org/job/tcwg_bmk-code_speed-spec2k6--llvm-arm-master-O3-build/134/artifact/artifacts + + Latest data: https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/llvm/sha1/b03f0c596a180399f7730ed75d78055c81b3d771/jira/yaml diff --git a/notify/lnt_report.json b/notify/lnt_report.json index 5929179..cefc2c7 100644 --- a/notify/lnt_report.json +++ b/notify/lnt_report.json @@ -6,45 +6,38 @@ "Run": { "Info": { "tag": "tcwg_bmk-code_speed-spec2k6", - "run_order": "llvmorg-18-init-15416-g7a87ff64e1fe", - "test_url": "https://ci.linaro.org/job/tcwg_bmk-code_speed-spec2k6--llvm-arm-master-O3-build/133/", + "run_order": "llvmorg-18-init-15417-gb03f0c596a18", + "test_url": "https://ci.linaro.org/job/tcwg_bmk-code_speed-spec2k6--llvm-arm-master-O3-build/134/", + "regression": "LLVM-1070", "llvm_url": "https://github.com/llvm/llvm-project.git", - "llvm_rev": "7a87ff64e1fe970adcc41b7fc664fb5fd8410a68", + "llvm_rev": "b03f0c596a180399f7730ed75d78055c81b3d771", "__report_version__": "1" }, - "Start Time": "2023-12-19 17:58:47" + "Start Time": "2023-12-20 05:55:24" }, "Tests": [ { "Data": [ - 129882 - ], - "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.433.milc.code_size" - } - , - { - "Data": [ - 11826 + 145844 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.429.mcf.code_size" + "Name": "tcwg_bmk-code_speed-spec2k6.458.sjeng.code_size" } , { "Data": [ - 169391 + 33808 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.482.sphinx3.code_size" + "Name": "tcwg_bmk-code_speed-spec2k6.462.libquantum.code_size" } , { "Data": [ - 3451091 + 320203 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.483.xalancbmk.code_size" + "Name": "tcwg_bmk-code_speed-spec2k6.450.soplex.code_size" } , { @@ -65,18 +58,18 @@ , { "Data": [ - 145844 + 169391 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.458.sjeng.code_size" + "Name": "tcwg_bmk-code_speed-spec2k6.482.sphinx3.code_size" } , { "Data": [ - 33808 + 3451091 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.462.libquantum.code_size" + "Name": "tcwg_bmk-code_speed-spec2k6.483.xalancbmk.code_size" } , { @@ -89,90 +82,98 @@ , { "Data": [ - 320203 + 129882 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.450.soplex.code_size" + "Name": "tcwg_bmk-code_speed-spec2k6.433.milc.code_size" } , { "Data": [ - 14269 + 11826 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.458.sjeng.exec" + "Name": "tcwg_bmk-code_speed-spec2k6.429.mcf.code_size" } , { "Data": [ - 14681 + 11285 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.462.libquantum.exec" + "Name": "tcwg_bmk-code_speed-spec2k6.401.bzip2.exec" } , { "Data": [ - 1 + 140 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.470.lbm.exec" + "Name": "tcwg_bmk-code_speed-spec2k6.403.gcc.exec" } , { "Data": [ - 9673 + 19 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.429.mcf.exec" + "Name": "tcwg_bmk-code_speed-spec2k6.450.soplex.exec" } , { "Data": [ - 5 + 1 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.433.milc.exec" + "Name": "tcwg_bmk-code_speed-spec2k6.470.lbm.exec" } , { "Data": [ - 1 + 14262 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.482.sphinx3.exec" + "Name": "tcwg_bmk-code_speed-spec2k6.458.sjeng.exec" } , { "Data": [ - 2633 + 14705 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.483.xalancbmk.exec" + "Name": "tcwg_bmk-code_speed-spec2k6.462.libquantum.exec" } , { "Data": [ - 18 + 9678 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.450.soplex.exec" + "Name": "tcwg_bmk-code_speed-spec2k6.429.mcf.exec" } , { "Data": [ - 11383 + 5 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.401.bzip2.exec" + "Name": "tcwg_bmk-code_speed-spec2k6.433.milc.exec" } , { "Data": [ - 133 + 2 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.403.gcc.exec" + "Name": "tcwg_bmk-code_speed-spec2k6.482.sphinx3.exec" + } + , + { + "Data": [ + 2633 + ], + "Info": {}, + "Name": "tcwg_bmk-code_speed-spec2k6.483.xalancbmk.exec" } , { @@ -180,15 +181,15 @@ 0 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.471.omnetpp.compile_status" + "Name": "tcwg_bmk-code_speed-spec2k6.401.bzip2.compile_status" } , { "Data": [ - 1 + 0 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.471.omnetpp.execution_status" + "Name": "tcwg_bmk-code_speed-spec2k6.401.bzip2.execution_status" } , { @@ -196,7 +197,7 @@ 0 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.473.astar.compile_status" + "Name": "tcwg_bmk-code_speed-spec2k6.400.perlbench.compile_status" } , { @@ -204,7 +205,7 @@ 1 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.473.astar.execution_status" + "Name": "tcwg_bmk-code_speed-spec2k6.400.perlbench.execution_status" } , { @@ -212,7 +213,7 @@ 0 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.453.povray.compile_status" + "Name": "tcwg_bmk-code_speed-spec2k6.403.gcc.compile_status" } , { @@ -220,7 +221,7 @@ 1 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.453.povray.execution_status" + "Name": "tcwg_bmk-code_speed-spec2k6.403.gcc.execution_status" } , { @@ -228,7 +229,7 @@ 0 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.456.hmmer.compile_status" + "Name": "tcwg_bmk-code_speed-spec2k6.445.gobmk.compile_status" } , { @@ -236,7 +237,7 @@ 1 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.456.hmmer.execution_status" + "Name": "tcwg_bmk-code_speed-spec2k6.445.gobmk.execution_status" } , { @@ -244,15 +245,15 @@ 0 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.458.sjeng.compile_status" + "Name": "tcwg_bmk-code_speed-spec2k6.447.dealII.compile_status" } , { "Data": [ - 0 + 1 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.458.sjeng.execution_status" + "Name": "tcwg_bmk-code_speed-spec2k6.447.dealII.execution_status" } , { @@ -260,15 +261,15 @@ 0 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.462.libquantum.compile_status" + "Name": "tcwg_bmk-code_speed-spec2k6.450.soplex.compile_status" } , { "Data": [ - 0 + 1 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.462.libquantum.execution_status" + "Name": "tcwg_bmk-code_speed-spec2k6.450.soplex.execution_status" } , { @@ -276,7 +277,7 @@ 0 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.464.h264ref.compile_status" + "Name": "tcwg_bmk-code_speed-spec2k6.471.omnetpp.compile_status" } , { @@ -284,7 +285,7 @@ 1 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.464.h264ref.execution_status" + "Name": "tcwg_bmk-code_speed-spec2k6.471.omnetpp.execution_status" } , { @@ -292,7 +293,7 @@ 0 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.470.lbm.compile_status" + "Name": "tcwg_bmk-code_speed-spec2k6.473.astar.compile_status" } , { @@ -300,7 +301,7 @@ 1 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.470.lbm.execution_status" + "Name": "tcwg_bmk-code_speed-spec2k6.473.astar.execution_status" } , { @@ -308,15 +309,15 @@ 0 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.429.mcf.compile_status" + "Name": "tcwg_bmk-code_speed-spec2k6.464.h264ref.compile_status" } , { "Data": [ - 0 + 1 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.429.mcf.execution_status" + "Name": "tcwg_bmk-code_speed-spec2k6.464.h264ref.execution_status" } , { @@ -324,7 +325,7 @@ 0 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.433.milc.compile_status" + "Name": "tcwg_bmk-code_speed-spec2k6.470.lbm.compile_status" } , { @@ -332,7 +333,7 @@ 1 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.433.milc.execution_status" + "Name": "tcwg_bmk-code_speed-spec2k6.470.lbm.execution_status" } , { @@ -340,15 +341,15 @@ 0 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.444.namd.compile_status" + "Name": "tcwg_bmk-code_speed-spec2k6.458.sjeng.compile_status" } , { "Data": [ - 1 + 0 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.444.namd.execution_status" + "Name": "tcwg_bmk-code_speed-spec2k6.458.sjeng.execution_status" } , { @@ -356,15 +357,15 @@ 0 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.482.sphinx3.compile_status" + "Name": "tcwg_bmk-code_speed-spec2k6.462.libquantum.compile_status" } , { "Data": [ - 1 + 0 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.482.sphinx3.execution_status" + "Name": "tcwg_bmk-code_speed-spec2k6.462.libquantum.execution_status" } , { @@ -372,7 +373,7 @@ 0 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.483.xalancbmk.compile_status" + "Name": "tcwg_bmk-code_speed-spec2k6.453.povray.compile_status" } , { @@ -380,7 +381,7 @@ 1 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.483.xalancbmk.execution_status" + "Name": "tcwg_bmk-code_speed-spec2k6.453.povray.execution_status" } , { @@ -388,7 +389,7 @@ 0 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.445.gobmk.compile_status" + "Name": "tcwg_bmk-code_speed-spec2k6.456.hmmer.compile_status" } , { @@ -396,7 +397,7 @@ 1 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.445.gobmk.execution_status" + "Name": "tcwg_bmk-code_speed-spec2k6.456.hmmer.execution_status" } , { @@ -404,15 +405,15 @@ 0 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.447.dealII.compile_status" + "Name": "tcwg_bmk-code_speed-spec2k6.429.mcf.compile_status" } , { "Data": [ - 1 + 0 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.447.dealII.execution_status" + "Name": "tcwg_bmk-code_speed-spec2k6.429.mcf.execution_status" } , { @@ -420,7 +421,7 @@ 0 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.450.soplex.compile_status" + "Name": "tcwg_bmk-code_speed-spec2k6.433.milc.compile_status" } , { @@ -428,7 +429,7 @@ 1 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.450.soplex.execution_status" + "Name": "tcwg_bmk-code_speed-spec2k6.433.milc.execution_status" } , { @@ -436,15 +437,15 @@ 0 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.401.bzip2.compile_status" + "Name": "tcwg_bmk-code_speed-spec2k6.444.namd.compile_status" } , { "Data": [ - 0 + 1 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.401.bzip2.execution_status" + "Name": "tcwg_bmk-code_speed-spec2k6.444.namd.execution_status" } , { @@ -452,7 +453,7 @@ 0 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.400.perlbench.compile_status" + "Name": "tcwg_bmk-code_speed-spec2k6.482.sphinx3.compile_status" } , { @@ -460,7 +461,7 @@ 1 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.400.perlbench.execution_status" + "Name": "tcwg_bmk-code_speed-spec2k6.482.sphinx3.execution_status" } , { @@ -468,7 +469,7 @@ 0 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.403.gcc.compile_status" + "Name": "tcwg_bmk-code_speed-spec2k6.483.xalancbmk.compile_status" } , { @@ -476,7 +477,7 @@ 1 ], "Info": {}, - "Name": "tcwg_bmk-code_speed-spec2k6.403.gcc.execution_status" + "Name": "tcwg_bmk-code_speed-spec2k6.483.xalancbmk.execution_status" } , { diff --git a/notify/mail-body.txt b/notify/mail-body.txt index 077b0e9..68f9fef 100644 --- a/notify/mail-body.txt +++ b/notify/mail-body.txt @@ -2,19 +2,23 @@ Dear contributor, our automatic CI has detected problems related to your patch(e We appreciate that it might be difficult to find the necessary logs or reproduce the issue locally. If you can't get what you need from our CI within minutes, let us know and we will be happy to help. +We track this report status in https://linaro.atlassian.net/browse/LLVM-1070 , please let us know if you are looking at the problem and/or when you have a fix. + In CI config tcwg_bmk-code_speed-spec2k6/llvm-arm-master-O3 after: - | 232 commits in llvm - | 7a87ff64e1fe [libc] suppress stdlib explicitly for crt1.a (#76079) - | 18170d0f281c [ConstraintElim] Extend AND implication logic to support OR as well. (#76044) - | 2c257cf8721a [gn build] Port 5ea15fab19eb - | 5ea15fab19eb [TextAPI] Add support to convert RecordSlices -> InterfaceFile (#75007) - | 8bbeed05c4da [libc] [startup] add cmake function to merge separated crt1 objects (#75413) - | ... and 227 more commits in llvm + | commit llvmorg-18-init-15417-gb03f0c596a18 + | Author: Craig Topper <craig.topper@sifive.com> + | Date: Wed Dec 20 09:52:02 2023 -0800 + | + | [RISCV] Add sifive-p450 CPU. (#75760) + | + | This is an out of order core with no vector unit. More information: + | https://www.sifive.com/cores/performance-p450-470 + | + | Scheduler model and other tuning will come in separate patches. the following hot functions slowed down by more than 15% (but their benchmarks slowed down by less than 3%): -- slowed down by 200% - 482.sphinx3:[.] __vfscanf_internal - from 1 to 3 perf samples
-- slowed down by 100% - 482.sphinx3:[.] __rawmemchr - from 1 to 2 perf samples
+- slowed down by 100% - 444.namd:[.] __vfscanf_internal - from 1 to 2 perf samples
The configuration of this build is: Below reproducer instructions can be used to re-build both "first_bad" and "last_good" cross-toolchains used in this bisection. Naturally, the scripts will fail when triggerring benchmarking jobs if you don\'t have access to Linaro TCWG CI. @@ -32,6 +36,17 @@ This benchmarking CI is work-in-progress, and we welcome feedback and suggestion -----------------8<--------------------------8<--------------------------8<-------------------------- The information below can be used to reproduce a debug environment: -Current build : https://ci.linaro.org/job/tcwg_bmk-code_speed-spec2k6--llvm-arm-master-O3-build/133/artifact/artifacts -Reference build : https://ci.linaro.org/job/tcwg_bmk-code_speed-spec2k6--llvm-arm-master-O3-build/131/artifact/artifacts +Current build : https://ci.linaro.org/job/tcwg_bmk-code_speed-spec2k6--llvm-arm-master-O3-build/134/artifact/artifacts +Reference build : https://ci.linaro.org/job/tcwg_bmk-code_speed-spec2k6--llvm-arm-master-O3-build/133/artifact/artifacts + +Reproduce last good and first bad builds: https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/llvm/sha1/b03f0c596a180399f7730ed75d78055c81b3d771/tcwg_bmk-code_speed-spec2k6/llvm-arm-master-O3/reproduction_instructions.txt + +Full commit : https://github.com/llvm/llvm-project/commit/b03f0c596a180399f7730ed75d78055c81b3d771 + +List of configurations that regressed due to this commit : +* tcwg_bmk-code_speed-spec2k6 +** llvm-arm-master-O3 +*** slowed down by 100% - 444.namd:[.] __vfscanf_internal +*** https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/llvm/sha1/b03f0c596a180399f7730ed75d78055c81b3d771/tcwg_bmk-code_speed-spec2k6/llvm-arm-master-O3/details.txt +*** https://ci.linaro.org/job/tcwg_bmk-code_speed-spec2k6--llvm-arm-master-O3-build/134/artifact/artifacts diff --git a/notify/mail-subject.txt b/notify/mail-subject.txt index 143e297..f36cf21 100644 --- a/notify/mail-subject.txt +++ b/notify/mail-subject.txt @@ -1 +1 @@ -[Linaro-TCWG-CI] 232 commits in llvm: slowed down by 200% - 482.sphinx3:[.] __vfscanf_internal on arm O3 +[Linaro-TCWG-CI] llvmorg-18-init-15417-gb03f0c596a18: slowed down by 100% - 444.namd:[.] __vfscanf_internal on arm O3 diff --git a/notify/output-bmk-results.log b/notify/output-bmk-results.log index 088a305..4a7fc7e 100644 --- a/notify/output-bmk-results.log +++ b/notify/output-bmk-results.log @@ -107,14 +107,14 @@ output-bmk-results.py(258): print(results_df) 1 401.bzip2 ... success 7 403.gcc ... failed-to-run 8 403.gcc ... failed-to-run -13 429.mcf ... success +12 429.mcf ... success +16 433.milc ... failed-to-run 17 433.milc ... failed-to-run -18 433.milc ... failed-to-run -23 444.namd ... failed-to-run -24 445.gobmk ... failed-to-run -25 447.dealII ... failed-to-run +22 444.namd ... failed-to-run +23 445.gobmk ... failed-to-run +24 447.dealII ... failed-to-run +25 450.soplex ... failed-to-run 26 450.soplex ... failed-to-run -27 450.soplex ... failed-to-run 31 453.povray ... failed-to-run 32 456.hmmer ... failed-to-run 33 458.sjeng ... success @@ -124,10 +124,10 @@ output-bmk-results.py(258): print(results_df) 45 470.lbm ... failed-to-run 46 471.omnetpp ... failed-to-run 47 473.astar ... failed-to-run +51 482.sphinx3 ... failed-to-run 52 482.sphinx3 ... failed-to-run -53 482.sphinx3 ... failed-to-run -56 483.xalancbmk ... failed-to-run -57 483.xalancbmk ... failed-to-run +58 483.xalancbmk ... failed-to-run +59 483.xalancbmk ... failed-to-run [25 rows x 20 columns] output-bmk-results.py(261): for index, row in results_df.iterrows(): @@ -502,14 +502,14 @@ output-bmk-results.py(258): print(results_df) 1 401.bzip2 ... success 7 403.gcc ... failed-to-run 8 403.gcc ... failed-to-run -13 429.mcf ... success +12 429.mcf ... success +16 433.milc ... failed-to-run 17 433.milc ... failed-to-run -18 433.milc ... failed-to-run -23 444.namd ... failed-to-run -24 445.gobmk ... failed-to-run -25 447.dealII ... failed-to-run +22 444.namd ... failed-to-run +23 445.gobmk ... failed-to-run +24 447.dealII ... failed-to-run +25 450.soplex ... failed-to-run 26 450.soplex ... failed-to-run -27 450.soplex ... failed-to-run 31 453.povray ... failed-to-run 32 456.hmmer ... failed-to-run 33 458.sjeng ... success @@ -519,10 +519,10 @@ output-bmk-results.py(258): print(results_df) 45 470.lbm ... failed-to-run 46 471.omnetpp ... failed-to-run 47 473.astar ... failed-to-run +51 482.sphinx3 ... failed-to-run 52 482.sphinx3 ... failed-to-run -53 482.sphinx3 ... failed-to-run -56 483.xalancbmk ... failed-to-run -57 483.xalancbmk ... failed-to-run +58 483.xalancbmk ... failed-to-run +59 483.xalancbmk ... failed-to-run [25 rows x 20 columns] output-bmk-results.py(261): for index, row in results_df.iterrows(): @@ -914,7 +914,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking exe.regression : 401.bzip2,bzip2_base.default : sample=-1% (threshold=3%) +DEBUG: checking exe.regression : 401.bzip2,bzip2_base.default : sample=1% (threshold=3%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: @@ -941,12 +941,37 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking exe.regression : 403.gcc,gcc_base.default : sample=0% (threshold=3%) +DEBUG: checking exe.regression : 403.gcc,gcc_base.default : sample=-5% (threshold=3%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: output-bmk-results.py(184): return (result - 100 > threshold) -output-bmk-results.py(233): continue +output-bmk-results.py(235): percent_change, short_diag, long_diag = get_short_long_diag(row, metric, sym_type, change_kind) + --- modulename: output-bmk-results, funcname: get_short_long_diag +output-bmk-results.py(137): bmk = row["benchmark"] +output-bmk-results.py(139): rel_value = row["rel_" + metric] +output-bmk-results.py(140): prev_value = row[metric + "_x"] +output-bmk-results.py(141): curr_value = row[metric + "_y"] +output-bmk-results.py(142): if metric == "num_vect_loops" or metric == "num_sve_loops": +output-bmk-results.py(152): suffix = "" +output-bmk-results.py(153): if metric == "sample": +output-bmk-results.py(154): prefix_regression = "slowed down by" +output-bmk-results.py(155): prefix_improvement = "sped up by" +output-bmk-results.py(156): suffix = "perf samples" +output-bmk-results.py(167): if sym_type=="symbol": +output-bmk-results.py(170): item=bmk +output-bmk-results.py(172): short_diag = "{1} {2}% - {0}".format(item, locals()["prefix_" + change_kind], abs(rel_value - 100)) +output-bmk-results.py(173): long_diag = "{0} - from {1} to {2} {3}".format(short_diag, prev_value, curr_value, suffix) +output-bmk-results.py(174): return abs(rel_value - 100), short_diag, long_diag +output-bmk-results.py(239): if metric == "sample" \ +output-bmk-results.py(240): and row['symbol_md5sum_x'] == row['symbol_md5sum_y'] \ +output-bmk-results.py(241): and row['symbol_md5sum_x'] != "-1" \ +output-bmk-results.py(242): and row['symbol_md5sum_x'] != "d41d8cd98f00b204e9800998ecf8427e": +output-bmk-results.py(243): f_skip.write_csv((row["benchmark"], row["symbol"], short_diag, long_diag)) + --- modulename: output-bmk-results, funcname: write_csv +output-bmk-results.py(41): if not self.predicate or not self.csvwriter: +output-bmk-results.py(43): self.csvwriter.writerow(arr) +output-bmk-results.py(244): continue output-bmk-results.py(224): for index, row in out_df.iterrows(): output-bmk-results.py(226): threshold = get_threshold(sym_type, metric, mode, row["benchmark"], row["symbol"]) --- modulename: output-bmk-results, funcname: get_threshold @@ -968,7 +993,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking exe.regression : 403.gcc,gcc_base.default : sample=2% (threshold=3%) +DEBUG: checking exe.regression : 403.gcc,gcc_base.default : sample=0% (threshold=3%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: @@ -1070,7 +1095,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking exe.regression : 450.soplex,soplex_base.default : sample=-6% (threshold=29.73%) +DEBUG: checking exe.regression : 450.soplex,soplex_base.default : sample=-6% (threshold=29.490000000000002%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: @@ -1097,7 +1122,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking exe.regression : 450.soplex,soplex_base.default : sample=0% (threshold=29.73%) +DEBUG: checking exe.regression : 450.soplex,soplex_base.default : sample=0% (threshold=29.490000000000002%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: @@ -1226,12 +1251,37 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking exe.regression : 482.sphinx3,sphinx_livepretend_base.default : sample=0% (threshold=17.82%) +DEBUG: checking exe.regression : 482.sphinx3,sphinx_livepretend_base.default : sample=-100% (threshold=17.64%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: output-bmk-results.py(184): return (result - 100 > threshold) -output-bmk-results.py(233): continue +output-bmk-results.py(235): percent_change, short_diag, long_diag = get_short_long_diag(row, metric, sym_type, change_kind) + --- modulename: output-bmk-results, funcname: get_short_long_diag +output-bmk-results.py(137): bmk = row["benchmark"] +output-bmk-results.py(139): rel_value = row["rel_" + metric] +output-bmk-results.py(140): prev_value = row[metric + "_x"] +output-bmk-results.py(141): curr_value = row[metric + "_y"] +output-bmk-results.py(142): if metric == "num_vect_loops" or metric == "num_sve_loops": +output-bmk-results.py(152): suffix = "" +output-bmk-results.py(153): if metric == "sample": +output-bmk-results.py(154): prefix_regression = "slowed down by" +output-bmk-results.py(155): prefix_improvement = "sped up by" +output-bmk-results.py(156): suffix = "perf samples" +output-bmk-results.py(167): if sym_type=="symbol": +output-bmk-results.py(170): item=bmk +output-bmk-results.py(172): short_diag = "{1} {2}% - {0}".format(item, locals()["prefix_" + change_kind], abs(rel_value - 100)) +output-bmk-results.py(173): long_diag = "{0} - from {1} to {2} {3}".format(short_diag, prev_value, curr_value, suffix) +output-bmk-results.py(174): return abs(rel_value - 100), short_diag, long_diag +output-bmk-results.py(239): if metric == "sample" \ +output-bmk-results.py(240): and row['symbol_md5sum_x'] == row['symbol_md5sum_y'] \ +output-bmk-results.py(241): and row['symbol_md5sum_x'] != "-1" \ +output-bmk-results.py(242): and row['symbol_md5sum_x'] != "d41d8cd98f00b204e9800998ecf8427e": +output-bmk-results.py(243): f_skip.write_csv((row["benchmark"], row["symbol"], short_diag, long_diag)) + --- modulename: output-bmk-results, funcname: write_csv +output-bmk-results.py(41): if not self.predicate or not self.csvwriter: +output-bmk-results.py(43): self.csvwriter.writerow(arr) +output-bmk-results.py(244): continue output-bmk-results.py(224): for index, row in out_df.iterrows(): output-bmk-results.py(226): threshold = get_threshold(sym_type, metric, mode, row["benchmark"], row["symbol"]) --- modulename: output-bmk-results, funcname: get_threshold @@ -1253,7 +1303,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking exe.regression : 482.sphinx3,sphinx_livepretend_base.default : sample=0% (threshold=17.82%) +DEBUG: checking exe.regression : 482.sphinx3,sphinx_livepretend_base.default : sample=0% (threshold=17.64%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: @@ -1307,7 +1357,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking exe.regression : 483.xalancbmk,Xalan_base.default : sample=3% (threshold=3%) +DEBUG: checking exe.regression : 483.xalancbmk,Xalan_base.default : sample=0% (threshold=3%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: @@ -1352,7 +1402,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking exe.improvement : 401.bzip2,bzip2_base.default : sample=-1% (threshold=3%) +DEBUG: checking exe.improvement : 401.bzip2,bzip2_base.default : sample=1% (threshold=3%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -1379,7 +1429,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking exe.improvement : 403.gcc,gcc_base.default : sample=0% (threshold=3%) +DEBUG: checking exe.improvement : 403.gcc,gcc_base.default : sample=-5% (threshold=3%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -1406,7 +1456,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking exe.improvement : 403.gcc,gcc_base.default : sample=2% (threshold=3%) +DEBUG: checking exe.improvement : 403.gcc,gcc_base.default : sample=0% (threshold=3%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -1508,7 +1558,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking exe.improvement : 450.soplex,soplex_base.default : sample=-6% (threshold=29.73%) +DEBUG: checking exe.improvement : 450.soplex,soplex_base.default : sample=-6% (threshold=29.490000000000002%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -1535,7 +1585,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking exe.improvement : 450.soplex,soplex_base.default : sample=0% (threshold=29.73%) +DEBUG: checking exe.improvement : 450.soplex,soplex_base.default : sample=0% (threshold=29.490000000000002%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -1664,7 +1714,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking exe.improvement : 482.sphinx3,sphinx_livepretend_base.default : sample=0% (threshold=17.82%) +DEBUG: checking exe.improvement : 482.sphinx3,sphinx_livepretend_base.default : sample=-100% (threshold=17.64%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -1691,7 +1741,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking exe.improvement : 482.sphinx3,sphinx_livepretend_base.default : sample=0% (threshold=17.82%) +DEBUG: checking exe.improvement : 482.sphinx3,sphinx_livepretend_base.default : sample=0% (threshold=17.64%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -1745,7 +1795,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking exe.improvement : 483.xalancbmk,Xalan_base.default : sample=3% (threshold=3%) +DEBUG: checking exe.improvement : 483.xalancbmk,Xalan_base.default : sample=0% (threshold=3%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -1790,7 +1840,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.regression : 401.bzip2,[.] BZ2_blockSort : sample=-3% (threshold=15%) +DEBUG: checking symbol.regression : 401.bzip2,[.] BZ2_blockSort : sample=6% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: @@ -1817,7 +1867,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.regression : 401.bzip2,[.] mainGtU : sample=2% (threshold=15%) +DEBUG: checking symbol.regression : 401.bzip2,[.] mainGtU : sample=-5% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: @@ -1898,7 +1948,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.regression : 401.bzip2,[.] BZ2_decompress : sample=-1% (threshold=15%) +DEBUG: checking symbol.regression : 401.bzip2,[.] BZ2_decompress : sample=2% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: @@ -1925,7 +1975,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.regression : 403.gcc,[.] compute_transp : sample=0% (threshold=41.49%) +DEBUG: checking symbol.regression : 403.gcc,[.] compute_transp : sample=17% (threshold=42.63%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: @@ -1952,7 +2002,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.regression : 403.gcc,libc.so.6 : sample=-14% (threshold=50.099999999999994%) +DEBUG: checking symbol.regression : 403.gcc,[.] bitmap_operation : sample=-8% (threshold=42.12%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: @@ -1979,7 +2029,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.regression : 403.gcc,[.] memset : sample=-8% (threshold=53.25%) +DEBUG: checking symbol.regression : 403.gcc,[.] memset : sample=31% (threshold=53.61%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: @@ -2006,7 +2056,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.regression : 403.gcc,[.] bitmap_operation : sample=0% (threshold=42.96%) +DEBUG: checking symbol.regression : 429.mcf,[.] primal_bea_mpp : sample=0% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: @@ -2033,7 +2083,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.regression : 429.mcf,[.] primal_bea_mpp : sample=1% (threshold=15%) +DEBUG: checking symbol.regression : 429.mcf,[.] refresh_potential : sample=1% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: @@ -2060,7 +2110,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.regression : 429.mcf,[.] refresh_potential : sample=-3% (threshold=15%) +DEBUG: checking symbol.regression : 429.mcf,[.] price_out_impl : sample=0% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: @@ -2087,7 +2137,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.regression : 429.mcf,[.] price_out_impl : sample=0% (threshold=15%) +DEBUG: checking symbol.regression : 433.milc,[.] make_gather : sample=0% (threshold=56.489999999999995%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: @@ -2102,19 +2152,14 @@ output-bmk-results.py(99): spec_thr = get_specific_thresholds(metric, mod output-bmk-results.py(57): if specific_variability is None: output-bmk-results.py(60): var = specific_variability[ (specific_variability['benchmark'] == bmk) & (specific_variability['symbol'].str.strip() == symb)] output-bmk-results.py(61): if var.empty: -output-bmk-results.py(63): elif len(var)>1: -output-bmk-results.py(68): if var.iloc[0]['sample_variation_average']>0 : -output-bmk-results.py(69): threshold = ( var.iloc[0]['sample_variation_average'] ) -output-bmk-results.py(70): if mode == "build": -output-bmk-results.py(74): threshold *= 3 -output-bmk-results.py(81): return threshold +output-bmk-results.py(62): return np.nan output-bmk-results.py(100): if not np.isnan(spec_thr): -output-bmk-results.py(104): spec_thr=max(spec_thr, default_threshold[(change_kind,metric,mode)]) -output-bmk-results.py(105): return spec_thr +output-bmk-results.py(107): if metric == "num_vect_loops" or metric == "num_sve_loops": +output-bmk-results.py(110): return default_threshold[(change_kind,metric,mode)] output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.regression : 433.milc,[.] make_gather : sample=20% (threshold=58.32000000000001%) +DEBUG: checking symbol.regression : 444.namd,libc.so.6 : sample=0% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: @@ -2136,12 +2181,46 @@ output-bmk-results.py(110): return default_threshold[(change_kind,metric,mod output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.regression : 444.namd,libc.so.6 : sample=0% (threshold=15%) +DEBUG: checking symbol.regression : 444.namd,[.] __vfscanf_internal : sample=-100% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: output-bmk-results.py(184): return (result - 100 > threshold) -output-bmk-results.py(233): continue +output-bmk-results.py(235): percent_change, short_diag, long_diag = get_short_long_diag(row, metric, sym_type, change_kind) + --- modulename: output-bmk-results, funcname: get_short_long_diag +output-bmk-results.py(137): bmk = row["benchmark"] +output-bmk-results.py(139): rel_value = row["rel_" + metric] +output-bmk-results.py(140): prev_value = row[metric + "_x"] +output-bmk-results.py(141): curr_value = row[metric + "_y"] +output-bmk-results.py(142): if metric == "num_vect_loops" or metric == "num_sve_loops": +output-bmk-results.py(152): suffix = "" +output-bmk-results.py(153): if metric == "sample": +output-bmk-results.py(154): prefix_regression = "slowed down by" +output-bmk-results.py(155): prefix_improvement = "sped up by" +output-bmk-results.py(156): suffix = "perf samples" +output-bmk-results.py(167): if sym_type=="symbol": +output-bmk-results.py(168): item=bmk+":"+row["symbol"] +output-bmk-results.py(172): short_diag = "{1} {2}% - {0}".format(item, locals()["prefix_" + change_kind], abs(rel_value - 100)) +output-bmk-results.py(173): long_diag = "{0} - from {1} to {2} {3}".format(short_diag, prev_value, curr_value, suffix) +output-bmk-results.py(174): return abs(rel_value - 100), short_diag, long_diag +output-bmk-results.py(239): if metric == "sample" \ +output-bmk-results.py(240): and row['symbol_md5sum_x'] == row['symbol_md5sum_y'] \ +output-bmk-results.py(241): and row['symbol_md5sum_x'] != "-1" \ +output-bmk-results.py(246): print("DEBUG: *** {0},{1} : {2}".format(row["benchmark"], row["symbol"], long_diag)) +DEBUG: *** 444.namd,[.] __vfscanf_internal : slowed down by 100% - 444.namd:[.] __vfscanf_internal - from 1 to 2 perf samples +output-bmk-results.py(248): f_out.write_csv((percent_change, row["benchmark"], row["symbol"], short_diag, long_diag)) + --- modulename: output-bmk-results, funcname: write_csv +output-bmk-results.py(41): if not self.predicate or not self.csvwriter: +output-bmk-results.py(43): self.csvwriter.writerow(arr) +output-bmk-results.py(249): if change_kind == "regression": +output-bmk-results.py(250): f_regr.write("# {0},{1}\n".format(row["symbol"], long_diag)) + --- modulename: output-bmk-results, funcname: write +output-bmk-results.py(36): if not self.predicate or not self.outf: +output-bmk-results.py(38): self.outf.write(string) +output-bmk-results.py(251): f_ebp.write("++benchmarks {0} ".format(row["benchmark"])) + --- modulename: output-bmk-results, funcname: write +output-bmk-results.py(36): if not self.predicate or not self.outf: +output-bmk-results.py(38): self.outf.write(string) output-bmk-results.py(224): for index, row in out_df.iterrows(): output-bmk-results.py(226): threshold = get_threshold(sym_type, metric, mode, row["benchmark"], row["symbol"]) --- modulename: output-bmk-results, funcname: get_threshold @@ -2151,14 +2230,19 @@ output-bmk-results.py(99): spec_thr = get_specific_thresholds(metric, mod output-bmk-results.py(57): if specific_variability is None: output-bmk-results.py(60): var = specific_variability[ (specific_variability['benchmark'] == bmk) & (specific_variability['symbol'].str.strip() == symb)] output-bmk-results.py(61): if var.empty: -output-bmk-results.py(62): return np.nan +output-bmk-results.py(63): elif len(var)>1: +output-bmk-results.py(68): if var.iloc[0]['sample_variation_average']>0 : +output-bmk-results.py(69): threshold = ( var.iloc[0]['sample_variation_average'] ) +output-bmk-results.py(70): if mode == "build": +output-bmk-results.py(74): threshold *= 3 +output-bmk-results.py(81): return threshold output-bmk-results.py(100): if not np.isnan(spec_thr): -output-bmk-results.py(107): if metric == "num_vect_loops" or metric == "num_sve_loops": -output-bmk-results.py(110): return default_threshold[(change_kind,metric,mode)] +output-bmk-results.py(104): spec_thr=max(spec_thr, default_threshold[(change_kind,metric,mode)]) +output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.regression : 444.namd,[.] __vfscanf_internal : sample=50% (threshold=15%) +DEBUG: checking symbol.regression : 450.soplex,[.] _ZN6soplex7NameSet3addERNS_7DataKeyEPKc : sample=0% (threshold=107.78999999999999%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: @@ -2185,7 +2269,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.regression : 450.soplex,libc.so.6 : sample=11% (threshold=66.21000000000001%) +DEBUG: checking symbol.regression : 450.soplex,libc.so.6 : sample=12% (threshold=66.12%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: @@ -2212,7 +2296,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.regression : 450.soplex,[.] _ZN6soplex7NameSet3addERNS_7DataKeyEPKc : sample=-60% (threshold=108.75%) +DEBUG: checking symbol.regression : 450.soplex,[.] strcmp : sample=20% (threshold=92.78999999999999%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: @@ -2229,22 +2313,44 @@ output-bmk-results.py(60): var = specific_variability[ (specific_variability output-bmk-results.py(61): if var.empty: output-bmk-results.py(63): elif len(var)>1: output-bmk-results.py(68): if var.iloc[0]['sample_variation_average']>0 : -output-bmk-results.py(69): threshold = ( var.iloc[0]['sample_variation_average'] ) -output-bmk-results.py(70): if mode == "build": -output-bmk-results.py(74): threshold *= 3 -output-bmk-results.py(81): return threshold +output-bmk-results.py(83): return np.nan output-bmk-results.py(100): if not np.isnan(spec_thr): -output-bmk-results.py(104): spec_thr=max(spec_thr, default_threshold[(change_kind,metric,mode)]) -output-bmk-results.py(105): return spec_thr +output-bmk-results.py(107): if metric == "num_vect_loops" or metric == "num_sve_loops": +output-bmk-results.py(110): return default_threshold[(change_kind,metric,mode)] output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.regression : 450.soplex,[.] strcmp : sample=17% (threshold=91.80000000000001%) +DEBUG: checking symbol.regression : 450.soplex,[.] _ZN6soplex5SPxLP7readMPSERSiPNS_7NameSetES3_PNS_7DIdxSetE : sample=-200% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: output-bmk-results.py(184): return (result - 100 > threshold) -output-bmk-results.py(233): continue +output-bmk-results.py(235): percent_change, short_diag, long_diag = get_short_long_diag(row, metric, sym_type, change_kind) + --- modulename: output-bmk-results, funcname: get_short_long_diag +output-bmk-results.py(137): bmk = row["benchmark"] +output-bmk-results.py(139): rel_value = row["rel_" + metric] +output-bmk-results.py(140): prev_value = row[metric + "_x"] +output-bmk-results.py(141): curr_value = row[metric + "_y"] +output-bmk-results.py(142): if metric == "num_vect_loops" or metric == "num_sve_loops": +output-bmk-results.py(152): suffix = "" +output-bmk-results.py(153): if metric == "sample": +output-bmk-results.py(154): prefix_regression = "slowed down by" +output-bmk-results.py(155): prefix_improvement = "sped up by" +output-bmk-results.py(156): suffix = "perf samples" +output-bmk-results.py(167): if sym_type=="symbol": +output-bmk-results.py(168): item=bmk+":"+row["symbol"] +output-bmk-results.py(172): short_diag = "{1} {2}% - {0}".format(item, locals()["prefix_" + change_kind], abs(rel_value - 100)) +output-bmk-results.py(173): long_diag = "{0} - from {1} to {2} {3}".format(short_diag, prev_value, curr_value, suffix) +output-bmk-results.py(174): return abs(rel_value - 100), short_diag, long_diag +output-bmk-results.py(239): if metric == "sample" \ +output-bmk-results.py(240): and row['symbol_md5sum_x'] == row['symbol_md5sum_y'] \ +output-bmk-results.py(241): and row['symbol_md5sum_x'] != "-1" \ +output-bmk-results.py(242): and row['symbol_md5sum_x'] != "d41d8cd98f00b204e9800998ecf8427e": +output-bmk-results.py(243): f_skip.write_csv((row["benchmark"], row["symbol"], short_diag, long_diag)) + --- modulename: output-bmk-results, funcname: write_csv +output-bmk-results.py(41): if not self.predicate or not self.csvwriter: +output-bmk-results.py(43): self.csvwriter.writerow(arr) +output-bmk-results.py(244): continue output-bmk-results.py(224): for index, row in out_df.iterrows(): output-bmk-results.py(226): threshold = get_threshold(sym_type, metric, mode, row["benchmark"], row["symbol"]) --- modulename: output-bmk-results, funcname: get_threshold @@ -2266,7 +2372,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.regression : 458.sjeng,[.] std_eval : sample=-2% (threshold=15%) +DEBUG: checking symbol.regression : 458.sjeng,[.] std_eval : sample=4% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: @@ -2293,7 +2399,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.regression : 458.sjeng,[.] gen : sample=3% (threshold=15%) +DEBUG: checking symbol.regression : 458.sjeng,[.] gen : sample=-6% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: @@ -2320,7 +2426,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.regression : 458.sjeng,[.] push_slidE : sample=-6% (threshold=15%) +DEBUG: checking symbol.regression : 458.sjeng,[.] push_slidE : sample=6% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: @@ -2401,7 +2507,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.regression : 462.libquantum,[.] quantum_sigma_x : sample=0% (threshold=15%) +DEBUG: checking symbol.regression : 462.libquantum,[.] quantum_sigma_x : sample=-3% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: @@ -2428,7 +2534,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.regression : 462.libquantum,[.] quantum_cnot : sample=-2% (threshold=15%) +DEBUG: checking symbol.regression : 462.libquantum,[.] quantum_cnot : sample=3% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: @@ -2474,7 +2580,7 @@ output-bmk-results.py(110): return default_threshold[(change_kind,metric,mod output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.regression : 482.sphinx3,libc.so.6 : sample=-14% (threshold=15%) +DEBUG: checking symbol.regression : 482.sphinx3,libc.so.6 : sample=12% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: @@ -2496,46 +2602,12 @@ output-bmk-results.py(110): return default_threshold[(change_kind,metric,mod output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.regression : 482.sphinx3,[.] __vfscanf_internal : sample=-200% (threshold=15%) +DEBUG: checking symbol.regression : 482.sphinx3,[.] __vfscanf_internal : sample=33% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: output-bmk-results.py(184): return (result - 100 > threshold) -output-bmk-results.py(235): percent_change, short_diag, long_diag = get_short_long_diag(row, metric, sym_type, change_kind) - --- modulename: output-bmk-results, funcname: get_short_long_diag -output-bmk-results.py(137): bmk = row["benchmark"] -output-bmk-results.py(139): rel_value = row["rel_" + metric] -output-bmk-results.py(140): prev_value = row[metric + "_x"] -output-bmk-results.py(141): curr_value = row[metric + "_y"] -output-bmk-results.py(142): if metric == "num_vect_loops" or metric == "num_sve_loops": -output-bmk-results.py(152): suffix = "" -output-bmk-results.py(153): if metric == "sample": -output-bmk-results.py(154): prefix_regression = "slowed down by" -output-bmk-results.py(155): prefix_improvement = "sped up by" -output-bmk-results.py(156): suffix = "perf samples" -output-bmk-results.py(167): if sym_type=="symbol": -output-bmk-results.py(168): item=bmk+":"+row["symbol"] -output-bmk-results.py(172): short_diag = "{1} {2}% - {0}".format(item, locals()["prefix_" + change_kind], abs(rel_value - 100)) -output-bmk-results.py(173): long_diag = "{0} - from {1} to {2} {3}".format(short_diag, prev_value, curr_value, suffix) -output-bmk-results.py(174): return abs(rel_value - 100), short_diag, long_diag -output-bmk-results.py(239): if metric == "sample" \ -output-bmk-results.py(240): and row['symbol_md5sum_x'] == row['symbol_md5sum_y'] \ -output-bmk-results.py(241): and row['symbol_md5sum_x'] != "-1" \ -output-bmk-results.py(246): print("DEBUG: *** {0},{1} : {2}".format(row["benchmark"], row["symbol"], long_diag)) -DEBUG: *** 482.sphinx3,[.] __vfscanf_internal : slowed down by 200% - 482.sphinx3:[.] __vfscanf_internal - from 1 to 3 perf samples -output-bmk-results.py(248): f_out.write_csv((percent_change, row["benchmark"], row["symbol"], short_diag, long_diag)) - --- modulename: output-bmk-results, funcname: write_csv -output-bmk-results.py(41): if not self.predicate or not self.csvwriter: -output-bmk-results.py(43): self.csvwriter.writerow(arr) -output-bmk-results.py(249): if change_kind == "regression": -output-bmk-results.py(250): f_regr.write("# {0},{1}\n".format(row["symbol"], long_diag)) - --- modulename: output-bmk-results, funcname: write -output-bmk-results.py(36): if not self.predicate or not self.outf: -output-bmk-results.py(38): self.outf.write(string) -output-bmk-results.py(251): f_ebp.write("++benchmarks {0} ".format(row["benchmark"])) - --- modulename: output-bmk-results, funcname: write -output-bmk-results.py(36): if not self.predicate or not self.outf: -output-bmk-results.py(38): self.outf.write(string) +output-bmk-results.py(233): continue output-bmk-results.py(224): for index, row in out_df.iterrows(): output-bmk-results.py(226): threshold = get_threshold(sym_type, metric, mode, row["benchmark"], row["symbol"]) --- modulename: output-bmk-results, funcname: get_threshold @@ -2552,46 +2624,12 @@ output-bmk-results.py(110): return default_threshold[(change_kind,metric,mod output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.regression : 482.sphinx3,[.] __rawmemchr : sample=-100% (threshold=15%) +DEBUG: checking symbol.regression : 482.sphinx3,[.] __isoc99_sscanf : sample=0% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: output-bmk-results.py(184): return (result - 100 > threshold) -output-bmk-results.py(235): percent_change, short_diag, long_diag = get_short_long_diag(row, metric, sym_type, change_kind) - --- modulename: output-bmk-results, funcname: get_short_long_diag -output-bmk-results.py(137): bmk = row["benchmark"] -output-bmk-results.py(139): rel_value = row["rel_" + metric] -output-bmk-results.py(140): prev_value = row[metric + "_x"] -output-bmk-results.py(141): curr_value = row[metric + "_y"] -output-bmk-results.py(142): if metric == "num_vect_loops" or metric == "num_sve_loops": -output-bmk-results.py(152): suffix = "" -output-bmk-results.py(153): if metric == "sample": -output-bmk-results.py(154): prefix_regression = "slowed down by" -output-bmk-results.py(155): prefix_improvement = "sped up by" -output-bmk-results.py(156): suffix = "perf samples" -output-bmk-results.py(167): if sym_type=="symbol": -output-bmk-results.py(168): item=bmk+":"+row["symbol"] -output-bmk-results.py(172): short_diag = "{1} {2}% - {0}".format(item, locals()["prefix_" + change_kind], abs(rel_value - 100)) -output-bmk-results.py(173): long_diag = "{0} - from {1} to {2} {3}".format(short_diag, prev_value, curr_value, suffix) -output-bmk-results.py(174): return abs(rel_value - 100), short_diag, long_diag -output-bmk-results.py(239): if metric == "sample" \ -output-bmk-results.py(240): and row['symbol_md5sum_x'] == row['symbol_md5sum_y'] \ -output-bmk-results.py(241): and row['symbol_md5sum_x'] != "-1" \ -output-bmk-results.py(246): print("DEBUG: *** {0},{1} : {2}".format(row["benchmark"], row["symbol"], long_diag)) -DEBUG: *** 482.sphinx3,[.] __rawmemchr : slowed down by 100% - 482.sphinx3:[.] __rawmemchr - from 1 to 2 perf samples -output-bmk-results.py(248): f_out.write_csv((percent_change, row["benchmark"], row["symbol"], short_diag, long_diag)) - --- modulename: output-bmk-results, funcname: write_csv -output-bmk-results.py(41): if not self.predicate or not self.csvwriter: -output-bmk-results.py(43): self.csvwriter.writerow(arr) -output-bmk-results.py(249): if change_kind == "regression": -output-bmk-results.py(250): f_regr.write("# {0},{1}\n".format(row["symbol"], long_diag)) - --- modulename: output-bmk-results, funcname: write -output-bmk-results.py(36): if not self.predicate or not self.outf: -output-bmk-results.py(38): self.outf.write(string) -output-bmk-results.py(251): f_ebp.write("++benchmarks {0} ".format(row["benchmark"])) - --- modulename: output-bmk-results, funcname: write -output-bmk-results.py(36): if not self.predicate or not self.outf: -output-bmk-results.py(38): self.outf.write(string) +output-bmk-results.py(233): continue output-bmk-results.py(224): for index, row in out_df.iterrows(): output-bmk-results.py(226): threshold = get_threshold(sym_type, metric, mode, row["benchmark"], row["symbol"]) --- modulename: output-bmk-results, funcname: get_threshold @@ -2640,7 +2678,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.regression : 483.xalancbmk,[.] _ZN11xercesc_2_510ValueStore13isDuplicateOfEPNS_17DatatypeValidatorEPKtS2_S4_ : sample=12% (threshold=15%) +DEBUG: checking symbol.regression : 483.xalancbmk,[.] _ZN11xercesc_2_510ValueStore13isDuplicateOfEPNS_17DatatypeValidatorEPKtS2_S4_ : sample=0% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_regression output-bmk-results.py(183): if metric in metric_utils.higher_regress_metrics: @@ -2684,7 +2722,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.improvement : 401.bzip2,[.] BZ2_blockSort : sample=-3% (threshold=15%) +DEBUG: checking symbol.improvement : 401.bzip2,[.] BZ2_blockSort : sample=6% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -2711,7 +2749,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.improvement : 401.bzip2,[.] mainGtU : sample=2% (threshold=15%) +DEBUG: checking symbol.improvement : 401.bzip2,[.] mainGtU : sample=-5% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -2792,7 +2830,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.improvement : 401.bzip2,[.] BZ2_decompress : sample=-1% (threshold=15%) +DEBUG: checking symbol.improvement : 401.bzip2,[.] BZ2_decompress : sample=2% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -2819,7 +2857,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.improvement : 403.gcc,[.] compute_transp : sample=0% (threshold=41.49%) +DEBUG: checking symbol.improvement : 403.gcc,[.] compute_transp : sample=17% (threshold=42.63%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -2846,7 +2884,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.improvement : 403.gcc,libc.so.6 : sample=-14% (threshold=50.099999999999994%) +DEBUG: checking symbol.improvement : 403.gcc,[.] bitmap_operation : sample=-8% (threshold=42.12%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -2873,7 +2911,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.improvement : 403.gcc,[.] memset : sample=-8% (threshold=53.25%) +DEBUG: checking symbol.improvement : 403.gcc,[.] memset : sample=31% (threshold=53.61%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -2900,7 +2938,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.improvement : 403.gcc,[.] bitmap_operation : sample=0% (threshold=42.96%) +DEBUG: checking symbol.improvement : 429.mcf,[.] primal_bea_mpp : sample=0% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -2927,7 +2965,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.improvement : 429.mcf,[.] primal_bea_mpp : sample=1% (threshold=15%) +DEBUG: checking symbol.improvement : 429.mcf,[.] refresh_potential : sample=1% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -2954,7 +2992,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.improvement : 429.mcf,[.] refresh_potential : sample=-3% (threshold=15%) +DEBUG: checking symbol.improvement : 429.mcf,[.] price_out_impl : sample=0% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -2981,7 +3019,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.improvement : 429.mcf,[.] price_out_impl : sample=0% (threshold=15%) +DEBUG: checking symbol.improvement : 433.milc,[.] make_gather : sample=0% (threshold=56.489999999999995%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -2996,19 +3034,14 @@ output-bmk-results.py(99): spec_thr = get_specific_thresholds(metric, mod output-bmk-results.py(57): if specific_variability is None: output-bmk-results.py(60): var = specific_variability[ (specific_variability['benchmark'] == bmk) & (specific_variability['symbol'].str.strip() == symb)] output-bmk-results.py(61): if var.empty: -output-bmk-results.py(63): elif len(var)>1: -output-bmk-results.py(68): if var.iloc[0]['sample_variation_average']>0 : -output-bmk-results.py(69): threshold = ( var.iloc[0]['sample_variation_average'] ) -output-bmk-results.py(70): if mode == "build": -output-bmk-results.py(74): threshold *= 3 -output-bmk-results.py(81): return threshold +output-bmk-results.py(62): return np.nan output-bmk-results.py(100): if not np.isnan(spec_thr): -output-bmk-results.py(104): spec_thr=max(spec_thr, default_threshold[(change_kind,metric,mode)]) -output-bmk-results.py(105): return spec_thr +output-bmk-results.py(107): if metric == "num_vect_loops" or metric == "num_sve_loops": +output-bmk-results.py(110): return default_threshold[(change_kind,metric,mode)] output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.improvement : 433.milc,[.] make_gather : sample=20% (threshold=58.32000000000001%) +DEBUG: checking symbol.improvement : 444.namd,libc.so.6 : sample=0% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -3030,7 +3063,7 @@ output-bmk-results.py(110): return default_threshold[(change_kind,metric,mod output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.improvement : 444.namd,libc.so.6 : sample=0% (threshold=15%) +DEBUG: checking symbol.improvement : 444.namd,[.] __vfscanf_internal : sample=-100% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -3045,45 +3078,24 @@ output-bmk-results.py(99): spec_thr = get_specific_thresholds(metric, mod output-bmk-results.py(57): if specific_variability is None: output-bmk-results.py(60): var = specific_variability[ (specific_variability['benchmark'] == bmk) & (specific_variability['symbol'].str.strip() == symb)] output-bmk-results.py(61): if var.empty: -output-bmk-results.py(62): return np.nan +output-bmk-results.py(63): elif len(var)>1: +output-bmk-results.py(68): if var.iloc[0]['sample_variation_average']>0 : +output-bmk-results.py(69): threshold = ( var.iloc[0]['sample_variation_average'] ) +output-bmk-results.py(70): if mode == "build": +output-bmk-results.py(74): threshold *= 3 +output-bmk-results.py(81): return threshold output-bmk-results.py(100): if not np.isnan(spec_thr): -output-bmk-results.py(107): if metric == "num_vect_loops" or metric == "num_sve_loops": -output-bmk-results.py(110): return default_threshold[(change_kind,metric,mode)] +output-bmk-results.py(104): spec_thr=max(spec_thr, default_threshold[(change_kind,metric,mode)]) +output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.improvement : 444.namd,[.] __vfscanf_internal : sample=50% (threshold=15%) +DEBUG: checking symbol.improvement : 450.soplex,[.] _ZN6soplex7NameSet3addERNS_7DataKeyEPKc : sample=0% (threshold=107.78999999999999%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: output-bmk-results.py(193): return (100 - result > threshold) -output-bmk-results.py(235): percent_change, short_diag, long_diag = get_short_long_diag(row, metric, sym_type, change_kind) - --- modulename: output-bmk-results, funcname: get_short_long_diag -output-bmk-results.py(137): bmk = row["benchmark"] -output-bmk-results.py(139): rel_value = row["rel_" + metric] -output-bmk-results.py(140): prev_value = row[metric + "_x"] -output-bmk-results.py(141): curr_value = row[metric + "_y"] -output-bmk-results.py(142): if metric == "num_vect_loops" or metric == "num_sve_loops": -output-bmk-results.py(152): suffix = "" -output-bmk-results.py(153): if metric == "sample": -output-bmk-results.py(154): prefix_regression = "slowed down by" -output-bmk-results.py(155): prefix_improvement = "sped up by" -output-bmk-results.py(156): suffix = "perf samples" -output-bmk-results.py(167): if sym_type=="symbol": -output-bmk-results.py(168): item=bmk+":"+row["symbol"] -output-bmk-results.py(172): short_diag = "{1} {2}% - {0}".format(item, locals()["prefix_" + change_kind], abs(rel_value - 100)) -output-bmk-results.py(173): long_diag = "{0} - from {1} to {2} {3}".format(short_diag, prev_value, curr_value, suffix) -output-bmk-results.py(174): return abs(rel_value - 100), short_diag, long_diag -output-bmk-results.py(239): if metric == "sample" \ -output-bmk-results.py(240): and row['symbol_md5sum_x'] == row['symbol_md5sum_y'] \ -output-bmk-results.py(241): and row['symbol_md5sum_x'] != "-1" \ -output-bmk-results.py(246): print("DEBUG: *** {0},{1} : {2}".format(row["benchmark"], row["symbol"], long_diag)) -DEBUG: *** 444.namd,[.] __vfscanf_internal : sped up by 50% - 444.namd:[.] __vfscanf_internal - from 2 to 1 perf samples -output-bmk-results.py(248): f_out.write_csv((percent_change, row["benchmark"], row["symbol"], short_diag, long_diag)) - --- modulename: output-bmk-results, funcname: write_csv -output-bmk-results.py(41): if not self.predicate or not self.csvwriter: -output-bmk-results.py(43): self.csvwriter.writerow(arr) -output-bmk-results.py(249): if change_kind == "regression": +output-bmk-results.py(233): continue output-bmk-results.py(224): for index, row in out_df.iterrows(): output-bmk-results.py(226): threshold = get_threshold(sym_type, metric, mode, row["benchmark"], row["symbol"]) --- modulename: output-bmk-results, funcname: get_threshold @@ -3105,7 +3117,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.improvement : 450.soplex,libc.so.6 : sample=11% (threshold=66.21000000000001%) +DEBUG: checking symbol.improvement : 450.soplex,libc.so.6 : sample=12% (threshold=66.12%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -3132,7 +3144,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.improvement : 450.soplex,[.] _ZN6soplex7NameSet3addERNS_7DataKeyEPKc : sample=-60% (threshold=108.75%) +DEBUG: checking symbol.improvement : 450.soplex,[.] strcmp : sample=20% (threshold=92.78999999999999%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -3149,17 +3161,14 @@ output-bmk-results.py(60): var = specific_variability[ (specific_variability output-bmk-results.py(61): if var.empty: output-bmk-results.py(63): elif len(var)>1: output-bmk-results.py(68): if var.iloc[0]['sample_variation_average']>0 : -output-bmk-results.py(69): threshold = ( var.iloc[0]['sample_variation_average'] ) -output-bmk-results.py(70): if mode == "build": -output-bmk-results.py(74): threshold *= 3 -output-bmk-results.py(81): return threshold +output-bmk-results.py(83): return np.nan output-bmk-results.py(100): if not np.isnan(spec_thr): -output-bmk-results.py(104): spec_thr=max(spec_thr, default_threshold[(change_kind,metric,mode)]) -output-bmk-results.py(105): return spec_thr +output-bmk-results.py(107): if metric == "num_vect_loops" or metric == "num_sve_loops": +output-bmk-results.py(110): return default_threshold[(change_kind,metric,mode)] output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.improvement : 450.soplex,[.] strcmp : sample=17% (threshold=91.80000000000001%) +DEBUG: checking symbol.improvement : 450.soplex,[.] _ZN6soplex5SPxLP7readMPSERSiPNS_7NameSetES3_PNS_7DIdxSetE : sample=-200% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -3186,7 +3195,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.improvement : 458.sjeng,[.] std_eval : sample=-2% (threshold=15%) +DEBUG: checking symbol.improvement : 458.sjeng,[.] std_eval : sample=4% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -3213,7 +3222,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.improvement : 458.sjeng,[.] gen : sample=3% (threshold=15%) +DEBUG: checking symbol.improvement : 458.sjeng,[.] gen : sample=-6% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -3240,7 +3249,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.improvement : 458.sjeng,[.] push_slidE : sample=-6% (threshold=15%) +DEBUG: checking symbol.improvement : 458.sjeng,[.] push_slidE : sample=6% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -3321,7 +3330,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.improvement : 462.libquantum,[.] quantum_sigma_x : sample=0% (threshold=15%) +DEBUG: checking symbol.improvement : 462.libquantum,[.] quantum_sigma_x : sample=-3% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -3348,7 +3357,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.improvement : 462.libquantum,[.] quantum_cnot : sample=-2% (threshold=15%) +DEBUG: checking symbol.improvement : 462.libquantum,[.] quantum_cnot : sample=3% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -3394,7 +3403,7 @@ output-bmk-results.py(110): return default_threshold[(change_kind,metric,mod output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.improvement : 482.sphinx3,libc.so.6 : sample=-14% (threshold=15%) +DEBUG: checking symbol.improvement : 482.sphinx3,libc.so.6 : sample=12% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -3416,12 +3425,38 @@ output-bmk-results.py(110): return default_threshold[(change_kind,metric,mod output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.improvement : 482.sphinx3,[.] __vfscanf_internal : sample=-200% (threshold=15%) +DEBUG: checking symbol.improvement : 482.sphinx3,[.] __vfscanf_internal : sample=33% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: output-bmk-results.py(193): return (100 - result > threshold) -output-bmk-results.py(233): continue +output-bmk-results.py(235): percent_change, short_diag, long_diag = get_short_long_diag(row, metric, sym_type, change_kind) + --- modulename: output-bmk-results, funcname: get_short_long_diag +output-bmk-results.py(137): bmk = row["benchmark"] +output-bmk-results.py(139): rel_value = row["rel_" + metric] +output-bmk-results.py(140): prev_value = row[metric + "_x"] +output-bmk-results.py(141): curr_value = row[metric + "_y"] +output-bmk-results.py(142): if metric == "num_vect_loops" or metric == "num_sve_loops": +output-bmk-results.py(152): suffix = "" +output-bmk-results.py(153): if metric == "sample": +output-bmk-results.py(154): prefix_regression = "slowed down by" +output-bmk-results.py(155): prefix_improvement = "sped up by" +output-bmk-results.py(156): suffix = "perf samples" +output-bmk-results.py(167): if sym_type=="symbol": +output-bmk-results.py(168): item=bmk+":"+row["symbol"] +output-bmk-results.py(172): short_diag = "{1} {2}% - {0}".format(item, locals()["prefix_" + change_kind], abs(rel_value - 100)) +output-bmk-results.py(173): long_diag = "{0} - from {1} to {2} {3}".format(short_diag, prev_value, curr_value, suffix) +output-bmk-results.py(174): return abs(rel_value - 100), short_diag, long_diag +output-bmk-results.py(239): if metric == "sample" \ +output-bmk-results.py(240): and row['symbol_md5sum_x'] == row['symbol_md5sum_y'] \ +output-bmk-results.py(241): and row['symbol_md5sum_x'] != "-1" \ +output-bmk-results.py(246): print("DEBUG: *** {0},{1} : {2}".format(row["benchmark"], row["symbol"], long_diag)) +DEBUG: *** 482.sphinx3,[.] __vfscanf_internal : sped up by 33% - 482.sphinx3:[.] __vfscanf_internal - from 3 to 2 perf samples +output-bmk-results.py(248): f_out.write_csv((percent_change, row["benchmark"], row["symbol"], short_diag, long_diag)) + --- modulename: output-bmk-results, funcname: write_csv +output-bmk-results.py(41): if not self.predicate or not self.csvwriter: +output-bmk-results.py(43): self.csvwriter.writerow(arr) +output-bmk-results.py(249): if change_kind == "regression": output-bmk-results.py(224): for index, row in out_df.iterrows(): output-bmk-results.py(226): threshold = get_threshold(sym_type, metric, mode, row["benchmark"], row["symbol"]) --- modulename: output-bmk-results, funcname: get_threshold @@ -3438,7 +3473,7 @@ output-bmk-results.py(110): return default_threshold[(change_kind,metric,mod output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.improvement : 482.sphinx3,[.] __rawmemchr : sample=-100% (threshold=15%) +DEBUG: checking symbol.improvement : 482.sphinx3,[.] __isoc99_sscanf : sample=0% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -3492,7 +3527,7 @@ output-bmk-results.py(105): return spec_thr output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ output-bmk-results.py(229): .format(sym_type, change_kind, row["benchmark"], row["symbol"], metric, 100-row["rel_" + metric], threshold)) output-bmk-results.py(228): print("DEBUG: checking {0}.{1} : {2},{3} : {4}={5}% (threshold={6}%)"\ -DEBUG: checking symbol.improvement : 483.xalancbmk,[.] _ZN11xercesc_2_510ValueStore13isDuplicateOfEPNS_17DatatypeValidatorEPKtS2_S4_ : sample=12% (threshold=15%) +DEBUG: checking symbol.improvement : 483.xalancbmk,[.] _ZN11xercesc_2_510ValueStore13isDuplicateOfEPNS_17DatatypeValidatorEPKtS2_S4_ : sample=0% (threshold=15%) output-bmk-results.py(232): if not is_entry_xxx[change_kind](metric, row["rel_" + metric], threshold): --- modulename: output-bmk-results, funcname: is_entry_improvement output-bmk-results.py(192): if metric in metric_utils.higher_regress_metrics: @@ -3513,7 +3548,6 @@ output-bmk-results.py(305): f_skip.close() output-bmk-results.py(29): if not self.outf: output-bmk-results.py(31): self.outf.close() output-bmk-results.py(32): if os.stat(self.filename).st_size == 0: -output-bmk-results.py(33): os.remove(self.filename) output-bmk-results.py(306): f_regr.close() --- modulename: output-bmk-results, funcname: close output-bmk-results.py(29): if not self.outf: diff --git a/notify/results.regressions b/notify/results.regressions index 2ebeb9c..0bf5dcb 100644 --- a/notify/results.regressions +++ b/notify/results.regressions @@ -1,2 +1 @@ -# [.] __vfscanf_internal,slowed down by 200% - 482.sphinx3:[.] __vfscanf_internal - from 1 to 3 perf samples -# [.] __rawmemchr,slowed down by 100% - 482.sphinx3:[.] __rawmemchr - from 1 to 2 perf samples +# [.] __vfscanf_internal,slowed down by 100% - 444.namd:[.] __vfscanf_internal - from 1 to 2 perf samples diff --git a/notify/symbol.improvement b/notify/symbol.improvement index 4701642..fbcb7b9 100644 --- a/notify/symbol.improvement +++ b/notify/symbol.improvement @@ -1 +1 @@ -50,444.namd,[.] __vfscanf_internal,sped up by 50% - 444.namd:[.] __vfscanf_internal,sped up by 50% - 444.namd:[.] __vfscanf_internal - from 2 to 1 perf samples
+33,482.sphinx3,[.] __vfscanf_internal,sped up by 33% - 482.sphinx3:[.] __vfscanf_internal,sped up by 33% - 482.sphinx3:[.] __vfscanf_internal - from 3 to 2 perf samples
diff --git a/notify/symbol.regression b/notify/symbol.regression index 933e2fd..084c8ff 100644 --- a/notify/symbol.regression +++ b/notify/symbol.regression @@ -1,2 +1 @@ -200,482.sphinx3,[.] __vfscanf_internal,slowed down by 200% - 482.sphinx3:[.] __vfscanf_internal,slowed down by 200% - 482.sphinx3:[.] __vfscanf_internal - from 1 to 3 perf samples
-100,482.sphinx3,[.] __rawmemchr,slowed down by 100% - 482.sphinx3:[.] __rawmemchr,slowed down by 100% - 482.sphinx3:[.] __rawmemchr - from 1 to 2 perf samples
+100,444.namd,[.] __vfscanf_internal,slowed down by 100% - 444.namd:[.] __vfscanf_internal,slowed down by 100% - 444.namd:[.] __vfscanf_internal - from 1 to 2 perf samples
|