W dniu poniedziałek, 18 lipca 2016 12:29:30 UTC+2 użytkownik Staś Malolepszy 
napisał:

> Axel and Zibi suggested offline that we pick a Talos measure and stick
> to it.  I agree. This should be the feature we'll land first too.  I
> created a l20n-ts-paint branch [2] which is the minimal path that gets us
> a single string localized with L20n (the URL bar placeholder). 
> [2] https://github.com/mozilla/gecko-dev/compare/master...stasm:l20n-ts-paint

I pushed to try from my l20n-ts-paint branch and the results are in. Here's the 
comparison between mozilla-central master branch (or default in hg parlance) 
and l20n-ts-paint which is based on top of it:

https://treeherder.mozilla.org/perf.html#/compare?originalProject=try&originalRevision=b1c1f909fdd7&newProject=try&newRevision=b5a6bbfc8a2b&framework=1

There are minor regressions in session-restore (20-25ms, +2%) and a bigger one 
(15ms, +5%) in tpaint.  From the wiki [1]:

    Tests the amount of time it takes the open a new window. This test
    does not include startup time. Multiple test windows are opened in
    succession, results reported are the average amount of time required
    to create and display a window in the running instance of the browser.
    (Measures ctrl-n performance.)

OTOH, ts_paint which opens and new window and waits for the testpage to load is 
on par.

The measurements were done on a branch with an async version of L10nRegistry.

We need to better understand what are we paying for.  A number of possible 
culprits come to mind:

 - we're running both the old and the new framework at the same time,
 - we redo what the chrome registry does,
 - we're async,
 - we do more DOM modifications,
 - we parse in JS,
 - the resolver has complex logic and we might not be hitting the simple string 
optimizations,
 - other?

I'm also considering choosing tabbrowser.xml as our first target.  It's 
XUL/XBL, not too big [2] and has a few interesting quirks.  For instance it 
dispatches events when a tab's title changes which is non-trivial to do in the 
async/mutation observer world.  We talked to annevk about this and he suggested 
emitting an event after a volley of mutations which has the list of changes 
nodes in its details.  I filed https://bugzil.la/1287403 for this.

What say you?

-stas

[1] https://wiki.mozilla.org/Buildbot/Talos/Tests#tpaint
[2] 
https://dxr.mozilla.org/mozilla-central/source/browser/locales/en-US/chrome/browser/tabbrowser.properties
_______________________________________________
tools-l10n mailing list
[email protected]
https://lists.mozilla.org/listinfo/tools-l10n

Reply via email to