linelog: optimize replacelines
The optimization to avoid calling `annotate` inside `replacelines` is significant
for practical use patterns.
Before this patch:
hg perflinelogedits
! wall 6.778478 comb 6.710000 user 6.700000 sys 0.010000 (best of 3)
After this patch:
hg perflinelogedits
! wall 0.136573 comb 0.140000 user 0.130000 sys 0.010000 (best of 63)
Differential Revision: https://phab.mercurial-scm.org/D4150
{
"version": 1,
"project": "mercurial",
"project_url": "https://mercurial-scm.org/",
"repo": "..",
"branches": ["default", "stable"],
"environment_type": "virtualenv",
"show_commit_url": "https://www.mercurial-scm.org/repo/hg/rev/",
"benchmark_dir": "benchmarks",
"env_dir": "../.asv/env",
"results_dir": "../.asv/results",
"html_dir": "../.asv/html"
}