You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[benchmark test] use average when asserting against performance threshold
The recently added assertions in the benchmark test, that confirm that
the new async handler is much more performant vs the old sync handler,
were failing the test once in a while.
Originally the assertions were against each test run - those runs with
fewer iterations were very sensitive to interference by e.g. GC.
e.g. imagine that a 10-20 ms GC occurs while doing one of the runs
below, while performing logging using "AsyncNew" - it could easily
make "AsyncNew" look much less performant vs "SyncOld", once in a
while making the AsyncNewVsSyncOld ratio look too low and failing
the test :
Runs(#) SyncOld(ms) AsyncNew(ms) AsyncNewVsSyncOld(rel perf)
2000 75.48 8.56 8.81x
4600 243.99 4.24 57.59x
10580 239.99 9.82 24.43x
24333 404.66 46.39 8.72x
After this commit, the performance is asserted against the average
performance of AsyncNew vs SyncOld, over the totals of all runs
(separately for the Regular vs Lean benchmarks). The totals are
also printed-out on stdout in human-readable form.
Signed-off-by: Marc Dumais <marc.dumais@ericsson.com>
0 commit comments