log: cache diffopts instance
It appears that calling patch.diff*opts() repeatedly has some cost.
$ hg log -T '{rev}\n' -R mercurial --time > /dev/null
(orig) time: real 4.430 secs (user 4.370+0.000 sys 0.050+0.000)
(new) time: real 1.950 secs (user 1.880+0.000 sys 0.060+0.000)
'diffopts or {}' isn't necessary as patch.diff*opts() accepts opts=None.
Mercurial
=========
Mercurial is a fast, easy to use, distributed revision control tool
for software developers.
Basic install::
$ make # see install targets
$ make install # do a system-wide install
$ hg debuginstall # sanity-check setup
$ hg # see help
Running without installing::
$ make local # build for inplace usage
$ ./hg --version # should show the latest version
See https://mercurial-scm.org/ for detailed installation
instructions, platform-specific notes, and Mercurial user information.