nsZipArchive::GetDataOffset is expensive during startup

RESOLVED DUPLICATE of bug 1373708

Status

()

defect
P2
normal
RESOLVED DUPLICATE of bug 1373708
2 years ago
2 years ago

People

(Reporter: florian, Assigned: xeonchen)

Tracking

({perf})

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [qf:f60][qf:p1][necko-triaged])

This profile captured on the quantum reference hardware shows 69ms spent there during startup: https://perfht.ml/2qNJcS9
Actually, it's not just during startup. Here is a profile where it's 276ms / 44% of the time spent between when clicking the "X" icon in the top right corner of the window, and when the confirmation prompt appears: https://perfht.ml/2qONdpq
(In reply to Florian Quèze [:florian] [:flo] from comment #1)
> Actually, it's not just during startup. Here is a profile where it's 276ms /
> 44% of the time spent between when clicking the "X" icon in the top right
> corner of the window, and when the confirmation prompt appears:
> https://perfht.ml/2qONdpq

This is a tangent for this bug, but which build is this from?  Is this Nightly or some local build?

It looks like you are coming from <https://searchfox.org/mozilla-central/rev/224cc663d54085994a4871ef464b7662e0721e83/js/xpconnect/loader/mozJSComponentLoader.cpp#797>.  This implies that you don't have a startup cache, because of this condition: <https://searchfox.org/mozilla-central/rev/224cc663d54085994a4871ef464b7662e0721e83/js/xpconnect/loader/mozJSComponentLoader.cpp#686>.  See bug 1351071 comment 24.  I wonder if this is happening to you?
Flags: needinfo?(florian)
(In reply to :Ehsan Akhgari (super long backlog, slow to respond) from comment #2)
> (In reply to Florian Quèze [:florian] [:flo] from comment #1)
> > Actually, it's not just during startup. Here is a profile where it's 276ms /
> > 44% of the time spent between when clicking the "X" icon in the top right
> > corner of the window, and when the confirmation prompt appears:
> > https://perfht.ml/2qONdpq
> 
> This is a tangent for this bug, but which build is this from?  Is this
> Nightly or some local build?

It's a Nightly.
Flags: needinfo?(florian)
Jason, do you know about anyone who could take this?
Assignee: nobody → jduell.mcbugs
Whiteboard: [qf] → [qf][necko-active]
See Also: → 1364235
Note that these are in fact 2 bugs (comment 1 and comment 2)
Err, comment 0 and comment 1.  :-)
Startup main thread IO = p1
Whiteboard: [qf][necko-active] → [qf:p1][necko-active]
I'm talking to Jason and Patrick about this on a private email thread.  Needinfoing myself to remember to send a reminder...
Flags: needinfo?(ehsan)
Flags: needinfo?(ehsan)
What was the result of that email thread?
Flags: needinfo?(ehsan)
See Also: → 1373708
I've yet to hear back.
Flags: needinfo?(ehsan)
Another startup profile where this takes more than 300ms: https://perfht.ml/2tAdjgA (captured on today's nightly)
Whiteboard: [qf:p1][necko-active] → [qf:p2][necko-active]
Bulk priority update: https://bugzilla.mozilla.org/show_bug.cgi?id=1399258
Priority: -- → P1
This smells like it's part of our general JAR channel main I/O issues.  So it will hopefully be fixed at the same time.  Keeping open until we know if that's the case.
Assignee: jduell.mcbugs → nobody
Priority: P1 → P2
Whiteboard: [qf:p2][necko-active] → [qf:p2]
Gary, will this bug get fixed as part of bug 1373708?
Flags: needinfo?(xeonchen)
Whiteboard: [qf:p2] → [qf:p2][necko-triaged]
(In reply to Jason Duell [:jduell] (needinfo me) from comment #14)
> Gary, will this bug get fixed as part of bug 1373708?

It's |nsJARChannel::CreateJarInput| within |nsJARChannel::AsyncOpen|, so I think the answer is yes.
Flags: needinfo?(xeonchen)
Keywords: perf
Assignee: nobody → xeonchen
Depends on: 1373708
Whiteboard: [qf:p2][necko-triaged] → [qf:p1][necko-triaged]
Whiteboard: [qf:p1][necko-triaged] → [qf:i60][qf:p1][necko-triaged]
Whiteboard: [qf:i60][qf:p1][necko-triaged] → [qf:f60][qf:p1][necko-triaged]
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1373708
You need to log in before you can comment on or make changes to this bug.