Gregory Szorc <gregory.szorc@gmail.com> [Mon, 13 Mar 2017 12:14:17 -0700] rev 31399
pycompat: alias urllib symbols directly
urllib.request imports a bunch of symbols from other urllib
modules. We should map to the original symbols not the
re-exported ones because this is more correct. Also, it
will prevent an import of urllib.request if only one of
the lower-level symbols/modules is needed.
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 13 Mar 2017 13:08:11 -0700] rev 31398
tests: clean up bad extension
The presence of the "babar" extension breaks subsequent tests.
So delete the file and create an empty one to return the config
to sanity.
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 13 Mar 2017 18:16:42 -0700] rev 31397
perf: perform a garbage collection before each iteration
Currently, no explicit garbage collection is performed when running
the microbenchmarks in `hg perf`. I think this is wrong because
garbage collection can have a significant impact on execution times.
And, if gc is triggered via the default heuristics, it will
fire effectively randomly during subsequent benchmark iterations
due to variable amount of garbage left over from previous runs.
Running a gc before invoking the measured function will help ensure
state is more consistent across all iterations.
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 13 Mar 2017 18:31:29 -0700] rev 31396
formatter: support json formatting of long type
By luck, we appear to not pass any long instances into
the JSON formatter. I suspect this will change with all the
Python 3 porting work. Plus I have another series that will
convert some ints to longs that triggers this.
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 12 Mar 2017 21:56:39 -0700] rev 31395
rebase: don't use mutable default argument value
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 12 Mar 2017 21:55:46 -0700] rev 31394
mq: don't use mutable default argument value
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 12 Mar 2017 21:54:32 -0700] rev 31393
util: don't use mutable default argument value
I don't think this is any tight loops and we'd need to worry about
PyObject creation overhead. Also, I'm pretty sure strptime()
will be much slower than PyObject creation (date parsing is
surprisingly slow).