Closed Bug 88166 Opened 24 years ago Closed 10 years ago

subtle change in nsHttpChannel.cpp can have big impact on cached load times (?)

Categories

(Core :: Networking: HTTP, defect)

defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: jrgmorrison, Unassigned)

References

Details

Attachments

(3 files)

So, with the jun 21st builds, there was a significant drop in page load times on the Mac (and to a lesser degree on win32/linux), as measured in both the page-loader tests and the ibench tests (if on a faster machine). I had worked back to find that this was due to an innocuous looking checkin by darin to nsHTTPChannel::ProcessNormal(). http://bonsai.mozilla.org/cvsview2.cgi?diff_mode=context&whitespace_mode=show&subdir=mozilla/netwerk/protocol/http/src&command=DIFF_FRAMESET&file=nsHttpChannel.cpp&rev1=1.27&rev2=1.28&root=/cvsroot In opt. builds on win2k and mac os9.0 I was able to back out that simple reordering and see the cached load times increase for either test. But the wacky thing is ... this method is _never_ called in the case of a cached load (although that doesn't rule out some side effect from the initial load affecting the subsequent loading times). On jun27, another change to this method was checked into the branch (by blizzard for darin), and this effectively unwound the effect of the earlier checkin. http://bonsai.mozilla.org/cvsview2.cgi?diff_mode=context&whitespace_mode=show&subdir=mozilla/netwerk/protocol/http/src&command=DIFF_FRAMESET&file=nsHttpChannel.cpp&rev1=1.31.2.1&rev2=1.31.2.2&root=/cvsroot I'll attach some graphs comparing per-url loading times for builds of jun 20, jun 21 and jun 27 (branch), on mac/linux/win32, showing the changes in times. A few things to note: 1) this effect is disproportionately greater on 'faster' machines 2) it's also much greater on Mac than win32/linux (file system issues? event issues?) 3) the improvement is only for certain URLs, which tend to be those with the most images on the page (e.g., time.com, spinner.com, gamespot.com) There are a few possibilities here, for what this all means: 1) jrgm is on crack (or speed, as the case may be). 2) this is measuring an artifact that does not map to real end-user experience. 3) yeah, it's faster, but it's sooo wrong it's not even funny. 4) something is going on here that needs investigation.
Doh. Should have added pavlov.
Random, possibly incorrect guess: sending the onstart before writing into the cache (which is what the jun 21 patch did) means content/layout/the parser can deal with stuff earlier (since file transport stuff happens on a separate thread) Why did some pages change, and others stayed the same, though? John, if you revert those patches, what happens to the numbers with your TestPageLoad thing?
> Random, possibly incorrect guess: sending the onstart before writing into > the cache (which is what the jun 21 patch did) means content/layout/the > parser can deal with stuff earlier (since file transport stuff happens on > a separate thread) Note: 'uncached' page load times did not change. It is the 'cached' load times that decreased, but, to repeat, ProcessNormal() is not called in the case of a cached load. So, you are looking for some side-effect that arises from the reordering (sez me). > John, if you revert those patches, what happens to the numbers with your > TestPageLoad thing? "John" == jtaylor
I just noticed that I forgot some of the series labels on those graphs. So, note: the red line is jun 21 on all the graphs, the blue line is jun20 and the green line is jun27.
Target Milestone: --- → Future
The TestPageLoad test showed no conclusive differences in timing between June 20th and today, on Windows2000.
jtaylor -- the TestPageLoad test ... does it exercise the cache, or is it just pulling content off the wire. (If the latter, then you should not see any change. It is only cached loads that are (apparently) affected).
Blocks: 71668
Assignee: darin → nobody
QA Contact: benc → networking.http
Target Milestone: Future → ---
this code has all be rewritten
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: