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 assertion in the benchmark test, that confirm that
the new async handler is much more performant vs the old sync handler,
was failing the test once in a while.
Originally the assertion was 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