The last couple of days I’ve been examining the problem with hg annotate in order to complete the goals for my v0.5 release. The issue is with the template Mozilla is using for hgweb. The problem has already been worked by other people but nobody seems to have come up with a viable solution.
Research
I decided to start by doing some research. I read the discussion on both the Mozilla and Mercurial bugs. Then I used Google to look for howtos on reducing page load times. I actually was able to find a couple of good references that every web developer should read (view here and here). I also tried some of the patches that attempt to solve the problem posted on the bug page. Also I looked into how fast hg annotate operates with the default and coal templates. I only saw a significant increase in speed with one of the patches.
Testing
I ran hg annotate on my local machine and I am getting an average time of approximately 20secs for the page to fully load. I measured this using firebug, which is an incredible tool by the way.
Looking Ahead
The problem is staring me right in the face. I need to find out why it is occuring and then remedy it somehow. Currently the page loads a HUGE table containing thousands of rows. This obviously has to go but just getting rid of that doesn’t cut down the load time by any significant amount. I’ll have to examine the CSS and see what kind of changes I can make to improve efficiency. There are some recommendations in the bug discussions, which I will definately try out. Lets see what I can do…