Platform/2010-Q2-Goals: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 3: Line 3:
* {{ok|Zero reproducible sg:crits.}}
* {{ok|Zero reproducible sg:crits.}}
* {{ok|Ship Lorentz final.}}
* {{ok|Ship Lorentz final.}}
* {{ok|Multiprocess Jetpack Extensions in a milestone.}}
* {{done|Multiprocess Jetpack Extensions in a milestone.}}
* {{ok|IndexDB implementation (partial) in an alpha.}}
* {{ok|IndexDB implementation (partial) in an alpha.}}
* {{done|html5 parser on by default in a beta.}}
* {{done|html5 parser on by default in a beta.}}

Revision as of 17:10, 17 June 2010

General Goals

  • [ON TRACK] Zero reproducible sg:crits.
  • [ON TRACK] Ship Lorentz final.
  • [DONE] Multiprocess Jetpack Extensions in a milestone.
  • [ON TRACK] IndexDB implementation (partial) in an alpha.
  • [DONE] html5 parser on by default in a beta.
  • [ON TRACK] Out of process plugins for the Mac on by default in beta.
  • [ON TRACK] TBD% reduction in empty-xul-window gecko initialization time.

GFX

  • Improve interactive performance by shipping, in a developer preview:
    • [MISSED] Layers implementations based on OpenGL and OpenGL ES; and
    • [ON TRACK] A layers implementation based on Direct3D 9; and
    • [ON TRACK] Direct2D support, turned on for at least some subset of hardware. (This depends on RelEng - bug 549120!)
  • [MISSED] Improve CSS3 font support by implementing Harfbuzz for simple scripts on Tier-1 platforms in a developer preview, and creating a CSS3 font test suite.
    • (This is only a miss because we're only going to get Harfbuzz on OS X and Windows, not all Tier-1 platforms. We'll have everything else.)

Layout

  • [ON TRACK] Improve responsiveness with hardware compositing.
    • [ON TRACK] Retained layers on by default in an alpha.
    • [ON TRACK] Integrated chrome/content rendering and child widget removal on trunk.
  • [ON TRACK] New CSS features on trunk, e.g. calc() or text-overflow. -Need a list here.

Content

  • [DONE] Improve long term web compatibility and code maintainability by landing the HTML5 parser.
  • [ON TRACK] Support e10s Fennec and Firefox by making Necko multi-process.
  • [ON TRACK] May 1st: Quantitative performance work plan (n% improvement on Dromaeo test x/y/z, etc) in place, and implementation(s) planned out for the remainder of Q2.
    • Plan is as follows:
      • [ON TRACK] Close the performance gap between Firefox and Google Chrome on the Zimbra test suite. This will mean that we'll speed up the "Cal_*" and "go to *" tests by 50% compared to 3.6. Zimbra is a big enough web app that we believe that bottlenecks seen there are visible in many other apps as well.
      • [ON TRACK] Dromaeo improvments, numbers coming shortly:
        • [DONE] Do more fast unwrapping in quickstubs, should make more or less every test faster.
        • [ON TRACK] Stay on trace through more code
        • [MISSED] Speed up getAttribute()
        • [DONE] Make setting innerHTML faster (depends on HTML5 parser)
        • [ON TRACK] Speed up getElementById()
  • [ON TRACK] Stop polluting the web by disabling remote XUL and XBL.

JS

General Q2 Goals

  • [ON TRACK] Continue to improve responsiveness: GC
  • [ON TRACK] ES5 complete
  • [ON TRACK] browser overhead largely eliminated

JSD before May 1

  • [DONE] design new JSD approach

JSD after May 1


JM before May 1

  • [MISSED] Critical JM components in place to assess performance
    • [DONE] PIC
    • [MISSED] new jsvals (switched from "dual stack layout" -- this took longer than we expected, so missed with good reason)
    • [DONE] Minimize loads and stores of temporary values

JM after May 1

  • [ON TRACK] May 1st: JM phase 1 complete, quantitative performance goals and plan in place for remainder of q2
  • [MISSED] JM shippable conformance and stability, perhaps not yet fast enough

Accessibility

  • [MISSED] Drive accessible editing on the web by finalizing our proposal and developing an implementation plan. [carried over from q1]
  • [ON TRACK] Create a talos measure appropriate for our meta a11y perf bug 531850

Multi-Process

  • [ON TRACK] Final release of multi-process plugins on Windows/Linux.
  • [ON TRACK] Beta release of multi-process Flash on Mac Snow Leopard, x86 and x86-64.
  • [ON TRACK] Beta release of multi-process Jetpacks: whatever work is necessary to enable 0.2 features to be multi-process, especially pagemods
  • [ON TRACK] Beta release of multi-process browsing on Fennec/Maemo Coordination with Mobile team needed.