Web Browser Grand Prix

From MozillaWiki
Jump to: navigation, search

Tom's Hardware Guide publishes a ~semiannual browser review called the "Web Browser Grand Prix" (WBGP). Mozilla would like to invest more time optimizing for the Grand Prix's high-profile benchmarks:

  1. Browsermark (Chrome)
  2. Peacekeeper (Chrome)

WBGP also includes:

Tom's Hardware describes their composite scoring: "We switched most of the composite scores from arithmetic mean (average) to geometric mean in order to ensure that every test in each category is given equal weight, regardless of absolute value. In order to minimize the effect of Dromaeo DOM in the final scoring, that test is now counted equally with the three JS tests in the final JavaScript/DOM composite score."


  • Engineering Manager: Naveed Ihsanullah
  • Developers:
    • Jan De Mooij
    • Hannes Verschore
    • Boris Zbarsky
    • Sean Stangl
  • PM: Chris Peterson


ID Summary Whiteboard Assigned to
33339 HTML5 <ruby> support [adt2][parity-webkit][parity-IE] Simon Montagu :smontagu
47159 Support css3-speech (previously Aural Style Sheet) properties in getComputedStyle
101019 KEYGEN support does not belong in the parser
137367 Implement orphans and widows parity-Opera, parity-IE8, [parity-chrome]
145503 [META] CSS3 writing-mode (vertical text)
312971 Support :read-only and :read-write pseudoclasses (unprefix) [parity-webkit][parity-blink][parity-opera][parity-edge][lang=c++]
363250 implement toggle() expression
435426 implement css3-values extensions to attr() [DevRel:P2]
482638 Validate Dromaeo benchmark techniques and statistics
493857 Implement Content Security Policy
500500 Add support for JPEG-XR/HD Photo [parity-ie]
532696 Aborts on prototype code due to "lambda" (dromaeo and otherwise)
532775 IM: Setting array length 2.8x as slow as v8 (dromaeo [] test) Jeff Walden [:Waldo] (I'm baaaaaaack...)
532810 sessionstore screwing over our dromaeo performance
546052 Implement cross-fade() from CSS Image Values and Replaced Content Module Level 3
547004 Implement <input type="color"> [parity-webkit][parity-opera] Arnaud Bienner
549114 Support Column Breaks part of CSS3 columns spec [css3-multicol][DevRel:P1]
551624 Analyze why we're slower than V8 on Dromaeo regexp tests
551625 Investigate the time spent in PushBackTrackState on Dromaeo regexps
561491 Dromaeo DOM Events (Prototype) and DOM Event (jQuery) tests don't seem to trace well [platform-rel-jQuery]
568953 ES6 modules [leave open]
577084 Implement HTTP Live Streaming (HLS) for audio and video on Android
590041 Investigate why our handling of prototype stuff in dromaeo is so slow
592786 Peacekeeper test arraySplice 37 times slower in Firefox compared to Chrome
601176 Slow performance on ctx.fillRect [painting-perf]
606734 Changing div height is slow compared to Chrome (Peacekeeper barchart test) on XP with D3D9 layers
608648 Changing div backgroundColor is slow compared to Chrome (Peacekeeper grid tests)
608880 Reading style.left and style.top is slow compared to Chrome (Peacekeeper balls tests)
609704 Slower drawImage than Chrome in Peacekeeper movie test [painting-perf]
609835 Array functions are slower than Chrome (Peacekeeper arrayCombined test)
614163 Slow property access on dromaeo's "jQuery -attr(class) x 100" benchmark [platform-rel-jQuery][qf:p3]
614167 Investigate JS performance on "Prototype - writeAttribute" dromaeo test
616436 Implement column-span (from CSS3 multicolumn) [css3-multicol][DevRel:P2] [webcompat] Neerja Pancholi[:neerja]
616605 CSS Grid Layout [parity-ie][parity-webkit][DevRel:P1]
626165 Patch for bug 609212 doesn't entirely fix the "profiling makes us slower" thing
629350 Implement the track element [parity-ie] [parity-chrome] [lang=c++] Rick Eyre (:reyre)
660062 Host jsgamebench someplace [games:p?] Vladimir Vukicevic [:vlad] [:vladv] (not actively reading bugmail))
669246 toPrecision rounds ties to even, not away from zero js-triage-needed
670898 Implement the HTML5 command API Jan Varga [:janv]
674802 CSS3 Regions
675943 Need support for dirname attribute
683629 TI: performance regression on the Dromaeo eval tests js-triage-needed Brian Hackett (:bhackett)
692009 Peacekeeper stringValidateForm is really slow
700926 Unify CSS image-value rendering [leave-open] Nick Cameron [:nrc]
702870 stalled event does not fire if stall occurs before metadata has loaded
703217 Implement image() from CSS Image Values and Replaced Content Module Level 4 Seth Fowler [:seth] [:s2h]
746087 Implement HTML5 toolbar menus [tw-dom]
748351 Meta: H.264/AAC & mp3 on B2G and Android [k9o:p1:fx15?]
750010 [meta] Support Android for WebRTC [WebRTC][blocking-webrtc-][android-webrtc-]
750011 [meta] Support B2G for WebRTC [WebRTC][blocking-webrtc-][tech-p1][b2g-webrtc-]
758654 BrowserMark benchmark test fails on Fennec
768959 Poor canvas performance in Scirra benchmark on Android [games:p?]
770780 Implement CSS3 text module text-underline-position Masayuki Nakano [:masayuki] (JST, +0900)(offline: 10/17 and 10/23)
775618 Alias page-break-* to break-* [DevRel:P1]
778617 Tracking bug for Media Source Extensions API implementation [shumway] [blink-parity] [ie11-parity][dependency: marketplace-partners]
784648 [CSS: text-indent] Implement 'each-line' and 'hanging'
786160 IonMonkey: Significant regression in dromaeo_css [ion:p1]
812201 Scirra RenderPerf3 slower than chrome [games:p?][js:t]
812990 Implement CSS3 text decoration text-decoration-skip [DevRel:P1]
822898 Implement pointer events [leave-open] Oleg Romashin (MS)
840640 [meta] Implement the HTML5 dialog element [parity-chrome][parity-opera] Tim Nguyen :ntim
851062 RIABench "2D-Test" drawing tests is 2x slower than Chrome on Windows
853467 CanvasMark 2013: Tests 3, 4 and 5 are slower with HWA enabled
854148 Support for nth-child(An+B of sel) , nth-last-child(An+B of sel) pseudo classes
855542 Error: NS_NOINTERFACE: Component returned failure code: 0x80004002 (NS_NOINTERFACE) [nsIWebProgress.DOMWindow]
877294 [Meta] Implement border box mask (mask-border-*) support p=0
880214 Allow one level deep ropes when creating a DependendString
884561 Periodically rerun test262-update.py to keep our imported test262 copy up-to-date [leave open] Jeff Walden [:Waldo] (I'm baaaaaaack...)
887266 Dromaeo-css and V8v7 regressions from what should be innocuous parser changes Naveed Ihsanullah [:naveed]
888320 [meta] implement all time and date related input types [parity-edge][parity-chrome][DevRel:P1] Jessica Jong [:jessica]
889977 [meta] WebGL2 Support [games:p1][platform-rel-Games]
897102 Update <menu> to spec
914360 Do not expose XUL Grid (display: -moz-grid;) to Web content
919992 Peacekeeper ripple tests slower than in Chrome
920508 Peacekeeper grid benchmark much slower than in Chrome
920659 Peacekeeper renderPhysics test slower than in Chrome
933562 support compound selectors and complex selectors within :not() negation pseudo-class [parity-safari][parity-webkit]
935992 Firefox does not support accessibility hit testing of canvas fallback content parity-chrome-canary
940062 [WBGP] Principled Technologies's WebXPRT 2013 Face Detection regression Jan de Mooij [:jandem]
940813 Browsermark "DOM Advanced Search" is 1.6x slower than Chrome
940815 Browsermark "DOM Search" is 1.6x slower than Chrome
940823 RIABench "Memory Management" test is 2-3x slower than Chrome on Windows
944846 toExponential rounding error
945452 V8 is 1.4x faster in Browsermark "JavaScript String Chat"
946978 CanvasMark 2013: "Asteroids - Shapes- shadows- blending" test is 1.5x slower than Chrome
946979 CanvasMark 2013: "Asteroids - Bitmaps- shapes- text" test is 2.4x slower than Chrome
946980 CanvasMark 2013: "Asteroids - Bitmaps" test is 1.8x slower than Chrome
946982 CanvasMark 2013: "Arena5 - Vectors- shadows- bitmaps- text" test is 3.4x slower than Chrome
960316 Enable W3C Pointer Events and touch-action CSS property by default
968586 Implement Content Security Level 2 per the W3C standard [domsecurity-meta] Christoph Kerschbaumer [:ckerschb]
1005268 element.type returns "text" for input type month|week|datetime|datetime-local
1011369 Implement line-break property of CSS3 Text
1040714 [META] Implement CSS Shapes Module Level 1 [parity-webkit][parity-blink][DevRel:P1]
1079853 Throw on indexing into detached ArrayBuffers instead of returning `undefined`
1085523 Improve syntax parsing performance
1104898 Browsermark "DOM Create Source" test slower than Chrome and Safari
1105337 Browsermark "Graphics Canvas" test much slower than Chrome and Safari
1105348 Browsermark "Graphics SVG" test slower than Chrome and Safari
1128204 Implement color() function from CSS colors level 4
1129202 Implement CanonicalNumericIndexString and use it for typed arrays
1140152 %TypedArray%.prototype.slice must copy elements' underlying bit patterns André Bargull [:anba]
1156047 Implement the W3C WebAppSec Credential Management API [domsecurity-backlog]
1175958 Implement conic gradients from CSS Image Values Level 4 gfx-noted
1178765 Implement backdrop-filter from Filter Effects Module Level 2 [gfx-noted], [DevRel:P2]
1205323 Implement Shadow DOM v1 (slots)
1225012 Implement Emphasis Marks from CSS Text Decoration Module Level 3
1225839 Class constructors throw TypeError from wrong realm Eric Faust [:efaust]
1244460 [meta] Add the WebSpeech API to the Web
1263150 Adding native support for MPEG-DASH [parity-edge]
1285811 Support <image> values (gradient, -moz-element()) for the 'content' property
1286997 Compound assignment calls ToPropertyKey before RequireObjectCoercible
1288457 GetPrototypeFromConstructor should throw TypeError from GetFunctionRealm if proxy is revoked
1292635 [e10s] Can't complete the test262 suite
1294490 Implement experimental WebP image support [platform-rel-Amazon][platform-rel-AmazonMusic][webcompat][gfx-noted] Andrew Osmond [:aosmond] [PTO Oct 14-22]
1294514 [meta] Implement the W3C WebAuthn API [webauthn] J.C. Jones [:jcj]
1296234 Bound format and compare functions should be anonymous
1296235 Promise helper functions should be anonymous
1296236 Proxy revocation function should be anonymous
1297179 ES Proxies should use realm from caller context
1308159 Make test262 module tests pass
1312163 Update 'scroll-snap-type' to the latest specification and drop support for 'scroll-snap-type-x' and 'scroll-snap-type-y' [DevRel:P2]
1312165 Implement 'scroll-snap-stop'
1317378 Wrong completion value computed for some statements
1317395 ArrayBuffer.prototype.byteLength should throw when the buffer is detached
1317405 Property creation order for "length", "name", and "prototype" in classes
1317416 GetPrototypeFromConstructor needs to retrieve the fallback prototype from the constructor's realm
1317422 Implement "global" proposal Jeff Walden [:Waldo] (I'm baaaaaaack...)
1318984 [meta] Implement W3C Payment Request API [DevRel:P2]
1318986 [meta] Web Payments
1336991 Some Test262 SIMD tests fail with --ion-eager --no-threads
1352755 Implement hwb() from CSS Color Module Level 4
1352757 Implement lab() and lch() from CSS Color Module Level 4 Boris Chiou [:boris] (away 24 Oct – 12 Nov)
1352758 Implement gray() from CSS Color Module Level 4
1352759 Implement device-cmyk() from CSS Color Module Level 4
1373832 Implement scroll-padding-* properties
1373833 Implement scroll-snap-margin-* properties
1373835 Implement scroll-snap-align property
1374290 test262-update.py imports Pull Requests Leo Balter
1398839 DataView getters should throw when the underlying buffer is detached in release/beta
1407587 Incorrect reference resolution order in destructuring contexts [js:correctness]
1407588 Implement "next" access iteration protocol change [js:correctness]

141 Total; 141 Open (100%); 0 Resolved (0%); 0 Verified (0%);


Date Chrome Firefox IE Opera
June 2013 Chrome 27 Firefox 22 IE 10 Opera 15
March 2013 Chrome 25 Firefox 19 IE 10 Opera 12.14
September 2012 Chrome 20 Firefox 15 IE 9 Opera 12.02
July 2012 Chrome 20 Firefox 13 IE 9 Opera 11.62
April 2012 Chrome 18 Firefox 11 IE 9 Opera 11.61
February 2012 Chrome 17 Firefox 10 IE 9 Opera 11.61
January 2012 Chrome 16 Firefox 9 IE 9 Opera 11.60
September 2011 Chrome 14 Firefox 7 IE 9 Opera 11.51
August 2011 Chrome 13 Firefox 6 IE 9 Opera 11.50
July 2011 Chrome 12 Firefox 5 IE 9 Opera 11.50
April 2011 Chrome 10 Firefox 4 IE 9 Opera 11.01
March 2011 Chrome 10 Firefox 3.6 IE 9 Opera 11.01
July 2010 Chrome 5 Firefox 3.6 IE 9 Opera 10.60
March 2010 Chrome 4 Firefox 3.6 IE 8 Opera 10.50