Closed
Bug 1308226
Opened 8 years ago
Closed 8 years ago
Deploy fastannotate extension to hg.mozilla.org
Categories
(Developer Services :: Mercurial: hg.mozilla.org, defect)
Developer Services
Mercurial: hg.mozilla.org
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: gps, Assigned: gps)
References
Details
Attachments
(3 files)
Facebook wrote a "fastannotate" extension (https://bitbucket.org/facebook/hg-experimental/src/8393bd99bb6e0170ecc153d4adbab7e5ba74e9d3/fastannotate/?at=default) that essentially caches annotation data and makes annotate operations much faster. My brief experiments show a 4-10x speedup compared to regular annotate. On files with long history (like https://hg.mozilla.org/mozilla-central/annotate/05d85d9bbce4/layout/base/nsCSSFrameConstructor.cpp - which takes ~20s to load), that can make a huge difference.
If it is suitable for deployment on the server, we should investigate deploying it on hg.mozilla.org so the blame web view is insanely fast.
Because the extension creates extra cache files on disk, we may want to only enable this on certain repos (notably the canonical firefox repos). We may also want to pregenerate annotation caches so first annotate load isn't slow. Although that would result in a lot of extra files on disk. We may want to just let the lazy caching do its job.
Assignee | ||
Comment 1•8 years ago
|
||
We'll need Mercurial 4.0 on the server to support this. So this won't happen before December.
Depends on: 1311447
Assignee | ||
Comment 2•8 years ago
|
||
As was said IRL at the Mercurial 4.0 Sprint, fastannotate can yield slightly different results than the built-in annotate feature. IIRC, the differences should only come into play after merge commits.
https://bitbucket.org/facebook/hg-experimental/commits/27a94a9c085ad1ee8b1454dde3b83f17d28a66da/raw documents some cases where fastannotate's algorithm differs from the built-in one.
Because of these differences, I was tentatively thinking of only deploying fastannotate on an "experimental" repo initially.
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment 7•8 years ago
|
||
mozreview-review |
Comment on attachment 8816219 [details]
ansible/hg-web: clone hg-experimental repo (bug 1308226);
https://reviewboard.mozilla.org/r/97004/#review97222
Attachment #8816219 -
Flags: review?(smacleod) → review+
Comment 8•8 years ago
|
||
mozreview-review |
Comment on attachment 8816220 [details]
ansible/hg-web: compile and install linelog C extension (bug 1308226);
https://reviewboard.mozilla.org/r/97006/#review97224
Attachment #8816220 -
Flags: review?(smacleod) → review+
Comment 9•8 years ago
|
||
mozreview-review |
Comment on attachment 8816221 [details]
ansible/hg-web: install a fastannotate hgrc recipe (bug 1308226);
https://reviewboard.mozilla.org/r/97008/#review97226
Attachment #8816221 -
Flags: review?(smacleod) → review+
Assignee | ||
Updated•8 years ago
|
Assignee: nobody → gps
Status: NEW → ASSIGNED
Comment 10•8 years ago
|
||
Pushed by gszorc@mozilla.com:
https://hg.mozilla.org/hgcustom/version-control-tools/rev/738b6aaf23ff
ansible/hg-web: clone hg-experimental repo ; r=smacleod
https://hg.mozilla.org/hgcustom/version-control-tools/rev/9b89fa369c5b
ansible/hg-web: compile and install linelog C extension ; r=smacleod
https://hg.mozilla.org/hgcustom/version-control-tools/rev/376c9195bf11
ansible/hg-web: install a fastannotate hgrc recipe ; r=smacleod
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 11•8 years ago
|
||
https://hg.mozilla.org/hgcustom/version-control-tools/rev/d8bd4045cce7af2d9539e317d065ca63f691c100
ansible/hg-web: enable fastannotate on hgweb properly (bug 1308226)
Assignee | ||
Comment 12•8 years ago
|
||
This is deployed. It has to manually be enabled on repos. I'll send out an announcement (likely tomorrow) saying where this is enabled.
You need to log in
before you can comment on or make changes to this bug.
Description
•