Closed Bug 116483 Opened 23 years ago Closed 22 years ago

2-4% spike in startup time, after timer landed

Categories

(Core :: XPCOM, defect, P2)

defect

Tracking

()

RESOLVED WONTFIX
mozilla1.0

People

(Reporter: mcafee, Assigned: dougt)

References

Details

(Keywords: regression, topperf, Whiteboard: [adt2 RTM] new timer implementation slowdown? [eta needed])

Attachments

(5 files)

I cleaned up dist on a tbox Thursday, and much to everyone's surprise,
startup time went up not down.  I decided to do the same to my home
machine tbox, and found the same results.  This time I saved off the
old dist.  I can swap the two dists in/out interchangably.  Attaching
a diff of the ls -R1 output of the two directories:
diff -c slow-dist.1R fast-dist.1R
cathleen
Assignee: asa → cathleen
Keywords: perf, regression
Adding some people
over to hewitt for a look
Assignee: cathleen → hewitt
Summary: 2-4% spike cleaning up dist → 2-4% spike in startup time cleaning up dist
Hey, Chris. Can you try just swapping in the dist/bin/chrome directory from 
the fast(er) build into the slow build and seeing how the time changes.
pulled completely new tree, it matches slow-dist times.
I will try the chrome dir swap next.
I started to walk through these changes one by one to find out
where the time difference was coming from, and ! my first change
to yank the timer stuff was the culprit.  In my test slow-dist,
I removed the *timer* references from the first diff [attachment #1 [details] [diff] [review]]
and the startup time went back up to spike level.
Over to pavlov for a look.
Assignee: hewitt → pavlov
Whiteboard: new timer implementation slowdown?
specifically, adding this link back to the now-defunct libtimer_gtk.so
 
  dist/bin/components/libtimer_gtk.so ->
  ../../../widget/timer/src/unix/gtk/libtimer_gtk.so
makes startup time faster by 100ms, from about 4387ms to 4275ms
on my 2x400MHz machine here at home.  Depend builds still probably
all have this library just sitting there, since we don't prune removed
directories on cvs checkout.  I now have two questions:

  1) Does the new timer implementation share the same interfaces
     as the old implementation?  If so, we may have we been running
     the old timer stuff courtesy of the depend build leaving the
     old library in dist.  (tbox doesn't do a cvs -P to prune out
     stuff like this).

  2) What was the intention of the new timer?  Was this a speed thing?

If depend screwed up here, we should fix this, and should file a new
bug for that.
new timer went in last weekend, Sat 12/15 as the fix for bug 78611.
This is the thread-safe timer stuff, maybe this is just the price
we pay for being thread-safe?  Adding brendan.
I see similar numbers in the Txul window open times,
my box reported a change of 40ms out of 1040ms, or 3.8%.
Note: btek has not had dist cleared as far as I know,
so pageloader damage may be unknown.
I strongly suspect this is the reason for the uptick covered by bug 115671. See
comment 10 in that bug for an explanation.
there is a 1290 to 1310 (1.5%) jump in btek numbers at the time
jag is talking about.

New bug re: depend tbox dist clearing is bug 116648.
up the severity to "critical".
pav is on vacation till mid Jan, I think.

Is this a price we have to pay by making timer thread safe??  brendan? waterson?
Or, can we make it better?  

Severity: normal → critical
I cleaned up dist on 10+ tinderboxes at 1pm today, some of the
times have jumped up as expected.
I will look at this until pav comes back. I am planning on doing a quantify run
and seeing the breakdown of time spent on timers.
Assignee: pavlov → dp
Status: NEW → ASSIGNED
Priority: -- → P2
Target Milestone: --- → mozilla0.9.8
*** Bug 115671 has been marked as a duplicate of this bug. ***
back to pav. he is back.
Assignee: dp → pavlov
Status: ASSIGNED → NEW
Since timers currently dump out a lot of logging stuff, the double mults and
Interval related functions could be tossing a wrench in the debug numbers a
little.  This should cut down on the overhead somewhat, but probably not 100ms.
Comment on attachment 64918 [details] [diff] [review]
Patch to reduce logging overhead

r=dougt
Attachment #64918 - Flags: review+
Comment on attachment 64918 [details] [diff] [review]
Patch to reduce logging overhead

sr=brendan@mozilla.org, but why does all this DEBUG-only stuff affect optimized
builds that tinderbox now perf tests?

/be
Attachment #64918 - Flags: superreview+
it won't effect opt builds, but I never saw anyone say that these numbers were 
only on optimized builds.  This was just one of the first things I looked at 
when looking over the code to see what might be slow.
all tbox graphs use optimized builds to generate numbers.
ah, ok.  so this patch shouldn't have any effect on those numbers.
Summary: 2-4% spike in startup time cleaning up dist → 2-4% spike in startup time, after timmer landed
Summary: 2-4% spike in startup time, after timmer landed → 2-4% spike in startup time, after timer landed
Target Milestone: mozilla0.9.8 → mozilla0.9.9
Target Milestone: mozilla0.9.9 → mozilla1.0
Status: NEW → ASSIGNED
Moving Netscape owned 0.9.9 and 1.0 bugs that don't have an nsbeta1, nsbeta1+,
topembed, topembed+, Mozilla0.9.9+ or Mozilla1.0+ keyword.  Please send any
questions or feedback about this to adt@netscape.com.  You can search for
"Moving bugs not scheduled for a project" to quickly delete this bugmail.
Target Milestone: mozilla1.0 → mozilla1.2
nsbeta1, -> 1.0
Keywords: nsbeta1
Target Milestone: mozilla1.2 → mozilla1.0
per adt, critical for nsbeta1. hence plus.
Keywords: nsbeta1nsbeta1+
Whiteboard: new timer implementation slowdown? → [adt2] new timer implementation slowdown?
pav/gagan - what are the chnaces that we'd be able to get a fix for this before
06.14.2002? pls add eta. thanks!
Blocks: 143047
Keywords: mozilla1.0.1
Whiteboard: [adt2] new timer implementation slowdown? → [adt2 RTM] new timer implementation slowdown? [eta needed]
Isn't this a XP issues (OS-->All) ?
Component: Browser-General → XPCOM
QA Contact: doron → scc
Keywords: perftopperf
OS: Linux → All
Hardware: PC → All
pavlov -> dougt
Assignee: pavlov → dougt
Status: ASSIGNED → NEW
we lost this one - no one ever verified these change.  I spoke with chris, and
we agreed to close this bug.
Status: NEW → RESOLVED
Closed: 22 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: