- Jun 10, 2015
-
-
Pierre-Yves David authored
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.
-
- Oct 27, 2014
-
-
Pierre-Yves David authored
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.
-
- Jun 10, 2015
-
-
Pierre-Yves David authored
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.
-
Pierre-Yves David authored
We now print the revision number and short hash inline. As a result we drop the crappy list printing.
-
Pierre-Yves David authored
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.
-
Pierre-Yves David authored
We are no longer testing against system mercurial for quite some time.
-
Pierre-Yves David authored
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.
-
Pierre-Yves David authored
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.
-
- Jun 12, 2015
-
-
Augie Fackler authored
-
- Jun 11, 2015
-
-
Pierre-Yves David authored
This avoids an alignment glitch.
-
- Jun 09, 2015
-
-
Pierre-Yves David authored
This will make update of the output easier.
-
Pierre-Yves David authored
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/).
-
Pierre-Yves David authored
This helps with diagnostics.
-
Pierre-Yves David authored
This is a gratuitous change to make the code easier to look at.
-
- Jun 11, 2015
-
-
Pierre-Yves David authored
For some reason (probably rebase issue, leprechaun or badly resolved .rej) 1635579f9baf contains only half of the emailed patches and do not fix the bug. This patch adds the other half and enable the sweet native computation for real. As expected this provide massive speedup along the board. revset #0: not public() plain first 0) 0.011960 0.010523 1) 0.000465 3% 0.000492 4% revset #1: (tip~1000::) - public() plain first 0) 0.025700 0.025169 1) 0.002864 11% 0.001899 7% revset #2: not public() and branch("default") plain first 0) 0.022842 0.020863 1) 0.011418 49% 0.010948 52% However, it has a less impact (even bad) on first result time in simple situation. This comes from the overhead of building the set and filtering it. This is especially true on my Mercurial repository (used here) where about 1/3 of the changesets are non public and hidden. This could be mitigated by a caching of the set and a better usage of smartset in '_notpublic'. (But this won't happen in this patch because the win is massive everywhere else). revset #0: not public() last 0) 0.000081 1) 0.000493 x6.1 <-- bad impact revset #1: (tip~1000::) - public() last 0) 0.013966 1) 0.002737 19% revset #2: not public() and branch("default") last 0) 0.011021 1) 0.011038 The effect mostly disappear when the number of non-public changesets is small and/or the repo get bigger. Result for Mozilla central: Mozilla revset #0: not public() plain first last 0) 0.092787 0.084094 0.000080 1) 0.000054 0% 0.000083 0% 0.000083 revset #1: (tip~1000::) - public() plain first last 0) 0.215607 0.183996 0.124962 1) 0.031620 14% 0.006616 3% 0.031168 24% revset #2: not public() and branch("default") plain first last 0) 0.092626 0.082687 0.000162 1) 0.000139 0% 0.000165 0% 0.000167
-
- Jun 12, 2015
-
-
Anton Shestakov authored
Some pages, e.g. bookmarks, help and summary don't have a meaningful revision context: they always either show information about tip or about the whole repo (and not about any specific changeset). And error pages can just show hgweb error messages, not related to any repo or changeset. Having a hash in the links worked (even when '{node|short}' resolved to an empty string on error pages), but seeing pages without revision context provide links with hashes is a bit confusing (unless you keep current tip hash in your head at all times) and not consistent with other template styles and other links on the same page: they don't have a hash. Let's just link to '/file', which is equal to '/file/tip'.
-
Anton Shestakov authored
Some pages, e.g. bookmarks, help and summary don't have a meaningful revision context: they always either show information about tip or about the whole repo (and not about any specific changeset). And error pages can just show hgweb error messages, not related to any repo or changeset. When monoblue style was added in 91b0ada2d94b, however, all graph links had tried to point at some hash, and on such pages as described above it didn't make sense. On error pages '{node|short}' is empty string anyway. Of course, it worked, but seeing such pages without revision context provide links with hashes is a bit confusing (unless you keep current tip hash in your head at all times) and wasn't consistent with other template styles, other pages in monoblue and even other links on the same page. Let's just link to '/graph', which is equal to '/graph/tip'.
-
Anton Shestakov authored
Just a cosmetic markup change, no .css changes required.
-
- Jun 11, 2015
-
-
Pierre-Yves David authored
Progress is now deprecated, using it as an example is suboptimal.
-
- Jun 08, 2015
-
-
Pierre-Yves David authored
Activating it is a absolute no-op now.
-
Pierre-Yves David authored
The default value match the one enforce by the extension, we can remove that logic.
-
- Jun 10, 2015
-
-
Pierre-Yves David authored
This is core feature now.
-
- Jun 08, 2015
-
-
Pierre-Yves David authored
As discussed multiple time during sprint, we should activate progress by default. Having progress bar significantly improve the user experience.
-
- Jun 07, 2015
-
-
Pierre-Yves David authored
We can now link the two efforts and provided more useful information when pulling changesets.
-
Pierre-Yves David authored
Caller can optionally informs how much changesets are expected to be added. This will be used for a more useful progress bar output.
-
Pierre-Yves David authored
We use an advisory parameters to carry the number of changesets bundled. This will be used for progress output.
-
- Jun 10, 2015
-
-
Matt Mackall authored
-
Matt Mackall authored
Color doesn't work yet, so no labels here.
-
Matt Mackall authored
This lets all the non-log commands that use the formatter use templates. There are still some things that don't work, for instance: - color (needs "repo" in map) - shortest (needs "ctx" in map)
-
Matt Mackall authored
-
Matt Mackall authored
We want to share this function between formatter and cmdutils. It doesn't belong in templater because it imports knowledge of ui layers that shouldn't be there. We'd prefer cmdutil to layer on the formatter rather than vice-versa. Since the formatter is the handler for -T options for all non-log commands, let's move the helper there. We leave the bits specific to the old --style option behind.
-
Yuya Nishihara authored
Otherwise label() wouldn't be listed in "hg help template" if color extension is enabled.
-
- Jun 08, 2015
-
-
Yuya Nishihara authored
"pad" function and "rawstring" type were introduced in parallel, aa51392da507 in default and 5ab28a2e9962 in stable respectively. Therefore, "pad" function lacked handling of "rawstring" unintentionally.
-
- Jun 07, 2015
-
-
Matt Harbison authored
Previously, if there were any hidden changesets, the --lfa argument would cause the command to abort with a hint about using --hidden when it tripped over a hidden changeset.
-
- Jun 10, 2015
-
-
Martin von Zweigbergk authored
The docstring for the header size field currently says "The total number of Bytes used by the part headers", but the size is about a single header, so let's change it to "header".
-
Martin von Zweigbergk authored
The function was only called through the parthandlermapping dict, so it was confusing but safe in practice.
-
- Jun 07, 2015
-
-
Pierre-Yves David authored
There is no remaining caller for this function.
-
Pierre-Yves David authored
The 'getchangegroupraw' is very simple (two lines) so we inline it in its only caller. This exposes the 'outgoing' object of the part generator function, allowing us to add information on the number of changesets contained in the part in a later changeset. Such information is useful for progress bar.
-
Pierre-Yves David authored
Having a single call site will simplify the code and help with coming refactoring.
-
- May 28, 2015
-
-
Pierre-Yves David authored
When using bundle2, the phase pushkey parts are now made mandatory. As a result, failure to update the bookmark server side will result in the transaction being aborted.
-