Tue, 09 Jun 2015 21:20:54 -0700 revsetbenchmarks: display even more compact timing result
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 09 Jun 2015 21:20:54 -0700] rev 25541
revsetbenchmarks: display even more compact timing result We now use an 8 char display for timing (from 10), we add some logic to drop precision if the number grows too large (as we do not care about sub-0 digit in this case). This allow to pack more variants in a single screen.
Mon, 27 Oct 2014 11:59:39 +0100 revsetbenchmarks: allow running multiple variants per revset
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 27 Oct 2014 11:59:39 +0100] rev 25540
revsetbenchmarks: allow running multiple variants per revset The current benchmarks were only testing the whole iteration. This is suboptimal because some changes are meaningful for things like first result, minimum or sorting. We introduce a "variants" feature that let you systematically add some variants to all revsets tested. A typical variants value would be 'plain,min,last,sort'. When testing 'all()' it will also provide testing for: - all() - min(all()) - last(all()) - sort(sort) and output: plain min last sort 0) 0.034568 0.037857 0.000074 0.034238 1) 0.011358 32% 0.020181 53% 0.000080 108% 0.011405 33% Using revsets (who hit the API) instead of the internal API add some overhead, but the overhead should be the same everywhere so it still allow comparison. This is is more simple to implement and allows comparison with older versions who do not have the same API.
Tue, 09 Jun 2015 21:30:04 -0700 revsetbenchmarks: display relative change when meaningful
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 09 Jun 2015 21:30:04 -0700] rev 25539
revsetbenchmarks: display relative change when meaningful If the time difference is more than 5% from the previous run, we'll display relative information. This makes it much simpler to spot performance changes in a sea of benchmarks.
Tue, 09 Jun 2015 18:53:04 -0700 revsetbenchmarks: improve revision printing
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 09 Jun 2015 18:53:04 -0700] rev 25538
revsetbenchmarks: improve revision printing We now print the revision number and short hash inline. As a result we drop the crappy list printing.
Tue, 09 Jun 2015 18:40:06 -0700 revsetbenchmarks: hide most timing under a --verbose flag
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 09 Jun 2015 18:40:06 -0700] rev 25537
revsetbenchmarks: hide most timing under a --verbose flag We mostly only care about total time. Dropping this output give us some room to display more useful information (like percentage different) in future changesets.
Tue, 09 Jun 2015 18:32:47 -0700 revsetbenchmarks: drop outdated comment
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 09 Jun 2015 18:32:47 -0700] rev 25536
revsetbenchmarks: drop outdated comment We are no longer testing against system mercurial for quite some time.
Tue, 09 Jun 2015 18:39:55 -0700 revsetbenchmarks: fix argument parsing
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 09 Jun 2015 18:39:55 -0700] rev 25535
revsetbenchmarks: fix argument parsing The file doc was saying something, the code was doing something else, the argument validation was doing a third thing. Doc and behavior now comply with the argument defined in the code.
Tue, 09 Jun 2015 17:15:48 -0700 revsetbenchmarks: use a more compact output format with a header
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 09 Jun 2015 17:15:48 -0700] rev 25534
revsetbenchmarks: use a more compact output format with a header We change the output from: revset #0: draft() 0) wall 0.011989 comb 0.010000 user 0.000000 sys 0.010000 (best of 177) 1) wall 0.012226 comb 0.010000 user 0.000000 sys 0.010000 (best of 193) 2) wall 0.011838 comb 0.020000 user 0.000000 sys 0.020000 (best of 208) to: revset #0: draft() wall comb user sys count 0) 0.012028 0.010000 0.000000 0.010000 170 1) 0.012218 0.010000 0.000000 0.010000 157 2) 0.012622 0.010000 0.000000 0.010000 189 This opens the road to more useful output.
Fri, 12 Jun 2015 16:42:07 -0400 revsetbenchmarks: clarify comment based on irc discussion
Augie Fackler <augie@google.com> [Fri, 12 Jun 2015 16:42:07 -0400] rev 25533
revsetbenchmarks: clarify comment based on irc discussion
Thu, 11 Jun 2015 10:55:02 -0700 revsetbenchmarks: ensure all indexes have the same width
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 11 Jun 2015 10:55:02 -0700] rev 25532
revsetbenchmarks: ensure all indexes have the same width This avoids an alignment glitch.
Tue, 09 Jun 2015 16:57:18 -0700 revsetbenchmarks: factor out result output into a function
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 09 Jun 2015 16:57:18 -0700] rev 25531
revsetbenchmarks: factor out result output into a function This will make update of the output easier.
Tue, 09 Jun 2015 16:48:29 -0700 revsetbenchmarks: parse perfrevset output into actual number
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 09 Jun 2015 16:48:29 -0700] rev 25530
revsetbenchmarks: parse perfrevset output into actual number We cannot just ask perfrevset to provide debug output because we usually want to compare output from old version of Mercurial that do not support it. So, we are using a regular expression. (/we now have \d problems/).
Tue, 09 Jun 2015 15:58:48 -0700 revsetbenchmarks: improve error output in case of failure
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 09 Jun 2015 15:58:48 -0700] rev 25529
revsetbenchmarks: improve error output in case of failure This helps with diagnostics.
Tue, 09 Jun 2015 15:49:14 -0700 revsetbenchmarks: extract call to mercurial into a function
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 09 Jun 2015 15:49:14 -0700] rev 25528
revsetbenchmarks: extract call to mercurial into a function This is a gratuitous change to make the code easier to look at.
(0) -10000 -3000 -1000 -300 -100 -14 +14 +100 +300 +1000 +3000 +10000 tip