Closed Bug 606474 Opened 14 years ago Closed 14 years ago

(domperf) Improve perfomance in hixie's Dom Core Perfomance test

Categories

(Core :: DOM: Core & HTML, defect)

defect
Not set
normal

Tracking

()

RESOLVED INVALID

People

(Reporter: alex, Unassigned)

References

()

Details

User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:2.0b8pre) Gecko/20101017 Firefox/4.0b8pre Build Identifier: Mozilla/5.0 (Windows NT 5.1; rv:2.0b8pre) Gecko/20101009 Firefox/4.0b8pre ID:20101009041646 http://www.hixie.ch/tests/adhoc/perf/dom/artificial/core/ On my machine it takes 24 second in 1st test and 190 in second in ff4.0b8. In ff3.6 browser just have hanged. In opera and chrome - it takes 0.18s in 1st test, and 1.5s in 2nd. Reproducible: Always
On my machine the first test takes ~300ms on trunk and Chrome trunk takes ~100ms. So yes, there is a huge difference in this testcase, but it certainly isn't seconds vs. milliseconds. The second test takes ~500ms on trunk, and ~800ms on Chrome trunk. So in that case we're quite a bit faster. I don't know why you're getting so bad results. Do you have some extensions? Perhaps Firebug enabled? IIRC that disables jit when enabled.
Opera 10.62, ~300ms and ~1400ms
oh, really. In firefox -safe-mode w/o addons i get good results: 001) Total elapsed time: 977ms Breakdown (fraction shows time relative to append time): Append: 1.00; 70ms Prepend: 4.70; 329ms Index: 0.67; 47ms Insert: 5.04; 353ms Remove: 2.54; 178ms 002) Total elapsed time: 694ms (average per iteration: 6.94). which is indeed faster than chrome. now, i'll try to investigate which addon is slow.
when i disabled firebug i get Total elapsed time: 21655ms disabling Adblock Plus (and diagnostic for adblock, and element hiding helper) doesnt affect at all Disabling "web-developer toolbar", and greasemonkey doesnt affect. addon "it's all text" has affect Total elapsed time: 17457ms And i found it! The guilty was "Operator" addon, which seaching microformats. https://addons.mozilla.org/ru/firefox/addon/4106/ Now i get: Total elapsed time: 858ms in 001 test and Total elapsed time: 993ms in 002 test So i think bug status is Resolved Invalid. Really thanks Olli!
Status: UNCONFIRMED → RESOLVED
Closed: 14 years ago
Resolution: --- → INVALID
> And i found it! The guilty was "Operator" addon, which seaching microformats. Might want to file a bug on them... it sounds like they're doing something expensive on every DOM mutation...
Also, on FF3.6 first test takes "Total elapsed time: 324437ms Breakdown (fraction shows time relative to append time): Append: 1.00; 23556ms Prepend: 3.01; 70914ms Index: 0.00; 22ms Insert: 4.87; 114705ms Remove: 4.89; 115240ms" In this case, the guilty was "skype extention". Wihout it it takes 1000ms. But i dont know where to file bug in this case.
mr.troll, what version of the Skype extension caused the slowdown mentioned in comment 7?
i'm using 4.2.0.187 may be i should try a fresher version, i dunno.
Either way, but now that we know the broken version number we can blocklist it...
hmm... i checked it, the version of extension is not the version of skype. Addon version is 4.2.0.5198 I'll try to install the latest version of skype and check the Hixie's test.
Thanks!
Ok. Here are results for the latest skype extension. Extention version: 5.0.0.6778 Skype win-binary version: 5.0.0.152 Firefox 3.6.12 (i can't check in firefox 4) -------------------------------- With addon 1st test: Total elapsed time: 2735ms Breakdown (fraction shows time relative to append time): Append: 1.00; 641ms Prepend: 1.49; 952ms Index: 0.05; 32ms Insert: 1.45; 932ms Remove: 0.28; 178ms 2nd test (executed to times): Total elapsed time: 11272ms (average per iteration: 112.72). Ideal time: 0ms. Total elapsed time: 11672ms (average per iteration: 116.72). Ideal time: 0ms. --------------------------------- Without addon 1st test: Total elapsed time: 1062ms Breakdown (fraction shows time relative to append time): Append: 1.00; 109ms Prepend: 3.29; 359ms Index: 0.28; 31ms Insert: 3.52; 384ms Remove: 1.64; 179ms 2nd test: Total elapsed time: 1530ms (average per iteration: 15.3). Ideal time: 0ms. Total elapsed time: 1563ms (average per iteration: 15.63). Ideal time: 0ms. It's far better then the previous version of addon, but still very bad. I think skype addon should check the page only once, after load. And stop doing it after each DOM changing.
We are investigating this on our side. however the last comment is on an older skype version than the current 5.0.0.6906. We will do this on our side also, but would be helpful to have you test on the latest also so we can compare our tests . V5.0.0.6906 Thanks
ok. Testing fresh Skype addon 5.0.0.6906 on FF 3.6.12 --------------------------------- Without addon my result is: 1st test: Total elapsed time: 1189ms Breakdown (fraction shows time relative to append time): Append: 1.00; 118ms Prepend: 3.38; 399ms Index: 0.21; 25ms Insert: 3.77; 445ms Remove: 1.71; 202ms 2nd test Total elapsed time: 1688ms (average per iteration: 16.88). Ideal time: 0ms. --------------------------- With skype addon 1st test: Total elapsed time: 3085ms Breakdown (fraction shows time relative to append time): Append: 1.00; 705ms Prepend: 1.50; 1060ms Index: 0.04; 27ms Insert: 1.55; 1090ms Remove: 0.29; 203ms Total elapsed time: 3120ms Breakdown (fraction shows time relative to append time): Append: 1.00; 719ms Prepend: 1.50; 1078ms Index: 0.04; 27ms Insert: 1.52; 1095ms Remove: 0.28; 201ms 2nd test: Total elapsed time: 12504ms (average per iteration: 125.04). Ideal time: 0ms. Total elapsed time: 12807ms (average per iteration: 128.07). Ideal time: 0ms. Total elapsed time: 12610ms (average per iteration: 126.1). Ideal time: 0ms. --------------- So, perfomance issue still not improved. Lilian, you might been interested in Bug 606503, about operator addon, which has similar problems. So solution for skype addon, i think, is not to listen for node changing events, but simply wait for document onload. What does the addon do? I noticed that i only search for any phone numbers on the page. Does it do anything else?
You need to log in before you can comment on or make changes to this bug.