Output performance test results in tabular format
The old output was also like the table format, but it was a bit hard to read.
This was suggested in #18417 (closed) .
Example of new output(decrease on DeriveNull is mock):
Performance Metrics (test environment: local):
Baseline
Test Metric Value Commit Environment Value Change
------------------------------------------------------------------------------------------------------------------------------------------------
Conversions(normal) runtime/bytes allocated 106936.000 770100e026 x86_64-linux-deb9 106984.000 unchanged(-0.0%)
DeriveNull(normal) runtime/bytes allocated 112050664.000 db8793ad41 local 152050664.000 decreased(-26.3%)
Naperian(optasm) compile_time/bytes allocated 219237696.000 b1eb38a0a7 local 219407064.000 unchanged(-0.1%)
T10359(normal) runtime/bytes allocated 386624.000 b1eb38a0a7 local 386624.000 unchanged(+0.0%)
T10370(optasm) compile_time/max_bytes_used 48374856.000 b1eb38a0a7 local 48375188.000 unchanged(-0.0%)
T10370(optasm) compile_time/peak_megabytes_allocated 128.000 b1eb38a0a7 local 128.000 unchanged(+0.0%)
T3064(normal) compile_time/bytes allocated 1007512832.000 b1eb38a0a7 local 1007855869.333 unchanged(-0.0%)
T3064(normal) compile_time/max_bytes_used 21364224.000 b1eb38a0a7 local 21295938.667 unchanged(+0.3%)
T3064(normal) compile_time/peak_megabytes_allocated 54.000 b1eb38a0a7 local 54.000 unchanged(+0.0%)
T9872a(normal) compile_time/bytes allocated 14702177584.000 db8793ad41 local 14702498160.000 unchanged(-0.0%)
Original output:
Performance Metrics (test environment: local):
Conversions(normal) runtime/bytes allocated 106936.000
(baseline @ 8426a1364ba450fe48fc41a95b2ba76c8d1bb7c8) 106984.000 [unchanged, -0.0%]
DeriveNull(normal) runtime/bytes allocated 112050664.000
(baseline @ db8793ad417ebfcb57d42e8111674a90706a7918) 112050664.000 [unchanged, 0.0%]
Naperian(optasm) compile_time/bytes allocated 219237696.000
(baseline @ b1eb38a0a7168d7612c791c4289cc02d900d402f) 219407064.000 [unchanged, -0.1%]
T10359(normal) runtime/bytes allocated 386624.000
(baseline @ b1eb38a0a7168d7612c791c4289cc02d900d402f) 386624.000 [unchanged, 0.0%]
T10370(optasm) compile_time/max_bytes_used 48374856.000
(baseline @ b1eb38a0a7168d7612c791c4289cc02d900d402f) 48375188.000 [unchanged, -0.0%]
T10370(optasm) compile_time/peak_megabytes_allocated 128.000
(baseline @ b1eb38a0a7168d7612c791c4289cc02d900d402f) 128.000 [unchanged, 0.0%]
T3064(normal) compile_time/bytes allocated 1007509664.000
(baseline @ b1eb38a0a7168d7612c791c4289cc02d900d402f) 1007855869.333 [unchanged, -0.0%]
T3064(normal) compile_time/max_bytes_used 21364224.000
(baseline @ b1eb38a0a7168d7612c791c4289cc02d900d402f) 21295938.667 [unchanged, 0.3%]
T3064(normal) compile_time/peak_megabytes_allocated 54.000
(baseline @ b1eb38a0a7168d7612c791c4289cc02d900d402f) 54.000 [unchanged, 0.0%]
T9872a(normal) compile_time/bytes allocated 14702177584.000
(baseline @ db8793ad417ebfcb57d42e8111674a90706a7918) 14702498160.000 [unchanged, -0.0%]
Where is the key part of this patch? That is, what should reviewers look at first?
It's whether or not the new output is easy to read.
And I have some questions.
- Does the selection and order of the columns look right?
- Is the total width appropriate?
- I would add a more compact layout option if needed
- I've shortened the commit hash, does it look good?
-
are either individually buildable or squashed -
have commit messages which describe what they do (referring to [Notes][notes] and tickets using #NNNNsyntax when appropriate) -
have added source comments describing your change. For larger changes you likely should add a [Note][notes] and cross-reference it from the relevant places. -
add a testcase to the testsuite. -
if your MR affects library interfaces (e.g. changes base) or affects whether GHC will accept user-written code, please add the ~"user facing" label. -
updates the users guide if applicable -
mentions new features in the release notes for the next release
Edited by Daishi Nakajima