Lazy revset benchmark timing (significant performance regression)
Pierre-Yves David
pierre-yves.david at ens-lyon.org
Wed Mar 26 21:35:41 CDT 2014
I just fixed a silly error in perfrevset. I re-ran the benchmark script
after the fix.
The comparison with 2.9.1 show a significant negative impact on most
long revset.
This is run in the mercurial repo only for now.
Result by revset
================
Revision:
0) 2.9.1
1) current @ plus prefrevset fix
revset #0: all() -38%
0) wall 0.002022 comb 0.000000 user 0.000000 sys 0.000000 (best of 1245)
1) wall 0.001251 comb 0.000000 user 0.000000 sys 0.000000 (best of 2064)
revset #1: draft() +13%
0) wall 0.009069 comb 0.000000 user 0.000000 sys 0.000000 (best of 278)
1) wall 0.010228 comb 0.020000 user 0.020000 sys 0.000000 (best of 269)
revset #2: ::tip +104%
0) wall 0.027909 comb 0.030000 user 0.030000 sys 0.000000 (best of 102)
1) wall 0.056816 comb 0.050000 user 0.050000 sys 0.000000 (best of 100)
revset #3: draft() and ::tip -64%
0) wall 0.034084 comb 0.030000 user 0.030000 sys 0.000000 (best of 100)
1) wall 0.012121 comb 0.010000 user 0.010000 sys 0.000000 (best of 231)
revset #4: 0::tip +21%
0) wall 0.031064 comb 0.020000 user 0.020000 sys 0.000000 (best of 100)
1) wall 0.037473 comb 0.040000 user 0.040000 sys 0.000000 (best of 100)
revset #5: roots(0::tip) +4%
0) wall 0.050656 comb 0.050000 user 0.040000 sys 0.010000 (best of 100)
1) wall 0.052431 comb 0.060000 user 0.060000 sys 0.000000 (best of 100)
revset #6: author(lmoscovicz) +3%
0) wall 1.011101 comb 1.010000 user 1.010000 sys 0.000000 (best of 10)
1) wall 1.042069 comb 1.040000 user 1.040000 sys 0.000000 (best of 10)
revset #7: author(mpm) 0%
0) wall 1.024331 comb 1.020000 user 1.020000 sys 0.000000 (best of 10)
1) wall 1.025307 comb 1.030000 user 1.020000 sys 0.010000 (best of 10)
revset #8: author(lmoscovicz) or author(mpm) +36%
0) wall 2.016440 comb 2.020000 user 2.020000 sys 0.000000 (best of 5)
1) wall 2.742379 comb 2.740000 user 2.740000 sys 0.000000 (best of 4)
revset #9: tip:0 +300% (outch)
0) wall 0.003652 comb 0.000000 user 0.000000 sys 0.000000 (best of 707)
1) wall 0.014643 comb 0.010000 user 0.010000 sys 0.000000 (best of 191)
revset #10: max(tip:0) -64%
0) wall 0.005329 comb 0.010000 user 0.010000 sys 0.000000 (best of 478)
1) wall 0.001938 comb 0.010000 user 0.010000 sys 0.000000 (best of 1432)
revset #11: min(0:tip) -64%
0) wall 0.005325 comb 0.010000 user 0.010000 sys 0.000000 (best of 512)
1) wall 0.001930 comb 0.000000 user 0.000000 sys 0.000000 (best of 1442)
revset #12: 0:: +99%
0) wall 0.025371 comb 0.030000 user 0.030000 sys 0.000000 (best of 110)
1) wall 0.050497 comb 0.050000 user 0.050000 sys 0.000000 (best of 100)
revset #13: min(0::) +98%
0) wall 0.027206 comb 0.020000 user 0.020000 sys 0.000000 (best of 102)
1) wall 0.000543 comb 0.000000 user 0.000000 sys 0.000000 (best of 5062)
revset #14: ::(tip + 0:4) +114%
0) wall 0.029807 comb 0.020000 user 0.020000 sys 0.000000 (best of 100)
1) wall 0.063846 comb 0.060000 user 0.060000 sys 0.000000 (best of 100)
revset #15: ::all() + 90%
0) wall 0.043501 comb 0.050000 user 0.050000 sys 0.000000 (best of 100)
1) wall 0.082830 comb 0.080000 user 0.080000 sys 0.000000 (best of 100)
revset #16: ::(all()- 0:4) +129%
0) wall 0.044514 comb 0.040000 user 0.040000 sys 0.000000 (best of 100)
1) wall 0.101969 comb 0.100000 user 0.100000 sys 0.000000 (best of 96)
More information about the Mercurial-devel
mailing list