Open Bug 104170 Opened 23 years ago Updated 2 years ago

FastLoad file contains many redundant (sub)strings

Categories

(Core :: XPCOM, defect, P3)

defect

Tracking

()

Future

People

(Reporter: brendan, Unassigned)

References

Details

(Keywords: perf)

JS atoms are flattened (this is really a JS XDR bug/misfeature) into strings as they are serialized. URI specs and file pathnames are not compressed if relative to an earlier base. Etc. /be
Status: NEW → ASSIGNED
Keywords: mozilla0.9.6
Priority: -- → P2
Target Milestone: --- → mozilla0.9.6
Depends on: 107907
Following bug 107907 to 0.9.7. /be
Target Milestone: mozilla0.9.6 → mozilla0.9.7
Design note to self: JS XDR is a lower below the object/binary stream implemented by nsFastLoadFile{Reader,Writer}. Both layers want a dictionary of shared strings (for strings long enough to be worth sharing). A new interface, nsIFastLoadStringTable (or perhaps a more generic name), should be implemented and used by nsFastLoadFileWriter::WriteString, etc. /be
This one is following bug 107907 to 0.9.8. /be
Target Milestone: mozilla0.9.7 → mozilla0.9.8
Still want this for 1.0, which means 0.9.9 or bust. /be
Keywords: mozilla0.9.8mozilla1.0
Target Milestone: mozilla0.9.8 → mozilla0.9.9
Bust. This is not vital for 1.0 unless someone can show a big startup perf gain over what FastLoad currently gives. The file (not RAM, except for the extra i/o) footprint doesn't matter enough to rush this in. /be
Keywords: mozilla1.0mozilla1.1
Target Milestone: mozilla0.9.9 → mozilla1.1
I'm an optimist. /be
Target Milestone: mozilla1.1alpha → mozilla1.1beta
Keywords: perf
This is 1.2alpha material, not 1.1beta. /be
Keywords: mozilla1.1mozilla1.2
Target Milestone: mozilla1.1beta → mozilla1.2alpha
Moving out, some of these may move to 1.3alpha shortly. /be
Target Milestone: mozilla1.2alpha → mozilla1.2beta
Fixing TM. /be
Target Milestone: mozilla1.2beta → mozilla1.3beta
Target Milestone: mozilla1.3beta → mozilla1.5alpha
Target Milestone: mozilla1.5alpha → mozilla1.6alpha
Target Milestone: mozilla1.6alpha → Future
QA Contact: scc → xpcom
Blocks: 340148
This should be a feature in the rewamped startup cache.
Depends on: 520309
Comment 10 and the dependency on bug 520309 say that this bug must wait, but see bug 517956 comment 2 for reference to bz's specific script->filename issue, which could be fixed ad-hoc. /be
Ben, feel free to steal or dup. /be
Assignee: brendan → nobody
Status: ASSIGNED → NEW
I guess this is a sort of metabug now? I have patches in bug 518230 and bug 632253 which reduce the size of serialized scripts a bunch. XPIProvider.jsm is 40% smaller with those patches. However, the serialized js is still bigger than the original js when compressed.
Depends on: 518230, 632253
Is this a problem specific to XDR? Does this even still exist with s/fastload/startupcache/?
Priority: P2 → P3
(In reply to Benjamin Smedberg [:bsmedberg] from comment #14) > Is this a problem specific to XDR? Does this even still exist with > s/fastload/startupcache/? yes see comment 13
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.