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.