Sat, 21 Nov 2015 19:21:01 -0800 context: avoid extra parents lookups
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 21 Nov 2015 19:21:01 -0800] rev 27064
context: avoid extra parents lookups Resolving parents requires reading from the changelog, which is a few attributes and function calls away. Parents lookup occurs surprisingly often. Micro optimizing the code to avoid redundant lookups of parents appears to make `hg log` on my Firefox repo a little faster: before: 24.91s after: 23.76s delta: -1.15s (95.4% of original)
Sat, 21 Nov 2015 19:04:12 -0800 context: optimize _parents()
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 21 Nov 2015 19:04:12 -0800] rev 27063
context: optimize _parents() This patch avoids some extra attribute lookups and list mutations. This micro-optimization seems to result in a minor speedup for `hg log` on my Firefox repo: before: 25.35s after: 24.91s delta: -0.44s (98% of original) Not the biggest gain. But every little bit helps.
Sun, 22 Nov 2015 13:05:21 -0500 test-histedit: $TESTTMP quoting fixes for Windows
Matt Harbison <matt_harbison@yahoo.com> [Sun, 22 Nov 2015 13:05:21 -0500] rev 27062
test-histedit: $TESTTMP quoting fixes for Windows Without this, C:\path\to\test is converted into C:pathtotest. Since $TESTTMP appears in output, seems to work in some places without quotes, and is also used within a larger quote block (see test-rebase-collapse.t, ~line 160), I'm not sure what a check-code rule would look like (or even if it is feasible).
Sat, 21 Nov 2015 23:26:22 -0800 lsprof: support PyPy (issue4573)
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 21 Nov 2015 23:26:22 -0800] rev 27061
lsprof: support PyPy (issue4573) PyPy's _lsprof module doesn't export a "profiler_entry" symbol. This patch treats the symbol as optional and falls back to verifying the attribute is present on the first entry in the collected data as part of validation. There is a chance not every entry will contain the requested sort attribute. But, this patch does unbust lsprof on PyPy for the hg commands I've tested, so I assume it is sufficient. It's certainly better than the ImportError we encountered before. As part of the import refactor, I snuck in the addition of absolute_import.
(0) -10000 -3000 -1000 -300 -100 -30 -10 -4 +4 +10 +30 +100 +300 +1000 +3000 +10000 tip