Judging from the incoming flow of bug reports, the number of people using
the Gecko Profiler has increased in the last week or two. I take this as a
good sign that it's being used increasingly heavily for Quantum Flow work,
which is good.

Nick

On Fri, Apr 21, 2017 at 4:25 PM, Ehsan Akhgari <ehsan.akhg...@gmail.com>
wrote:

> Hi everyone,
>
> I would like to share some updates about some of the ongoing performance
> related work.
>
> We have started looking at the native stack traces that are submitted
> through telemetry from the Background Hang Reports that take more than 8
> seconds.  (We were hoping to have been able to reduce this threshold to
> 256ms <https://bugzilla.mozilla.org/show_bug.cgi?id=1346415> for a while
> now, but the road has been bumpy -- but this should land really soon now!)
> Michael Layzell put together a telemetry analysis job that creates a
> symbolicated version of this data here: https://people-mozilla.org/~
> mlayzell/bhr/.  For example, this
> <https://people-mozilla.org/%7Emlayzell/bhr/20170405.html> is the latest
> generated report.  The grouping of this data is unfortunate, since the data
> is collected based on the profiler pseudo-stack labels, which is captured
> after 128ms, and then native stack (if the hang continues for 8 seconds)
> gets captured after that, so the pseudo-stack and the native stack may or
> may not correspond, and this grouping also doesn't help going through the
> list of native stacks and triage them more effectively.  Work is under way
> to create a nice dashboard
> <https://bugzilla.mozilla.org/show_bug.cgi?id=1344003> out of this data,
> but in the mean time this is an area where we could really use all of the
> help that we can get.  If you have some time, it would be really nice if
> you can take a look at this data and see if you can make sense of some of
> these call stacks and find some useful bug reports out of them.  If you do
> end up filing bugs, these are super important bugs to work on, so please
> make sure you add "[qf]" to the status whiteboard so that we can track the
> bug.
>
> Another item worthy of highlight is Mike Conley's Oh No! Reflow! add-on
> <https://mikeconley.github.io/ohnoreflow/>.  Don't let the simple web
> page behind this link deceive you, this add-on is really awesome!  It
> generates a beep every time that a long running reflow happens in the
> browser UI (which, of course, you get to turn off when you don't need to
> hunt for bugs!), and it logs the sync reflows that happened alongside the
> JS call stack to the code that triggered them, and it also gives you a
> single link that allows you to quickly file a bug with all of the right
> info in it, pre-filled!  In fact you can see the list of already filed
> bugs
> <https://bugzilla.mozilla.org/buglist.cgi?quicksearch=sw%3A%22%5Bohnoreflow%5D%22&list_id=13547427>
> through this add-on!
>
> Another issue that I want to bring up is the [qf:p1] bugs.  As you have
> noticed, there are a lot of them.  :-)  It is possible that some of these
> bugs aren't important to work on, for example because they only affect edge
> case conditions that affects a super small subset of users and that wasn't
> obvious when the bug was triaged.  In some other cases it may turn out that
> fixing the bug requires massive amounts of work that is unreasonable to do
> in the amount of time we have, or that the right people for it are doing
> more important work and can't be interrupted, and so on.  Whatever the
> issue is, whether the bug was mis-triaged, or can't be fixed, please make
> sure to raise it on the bug!  In general the earlier these issues are
> uncovered the better it is, because everyone can focus their time on more
> important work.  I wanted to make sure that this wasn't lost in all of the
> rush around our communication for Quantum Flow, my apologies if this hasn't
> been clear before.
>
>
> On to the acknowledgement section, I hope I'm not forgetting to mention
> anyone's name here!
>
>
>    - Bas Schouten made it so that we don't clear the compositor
>    background immediately before drawing into it
>    <https://bugzilla.mozilla.org/show_bug.cgi?id=1352442>.  This made
>    some painting and scrolling related benchmarks faster
>    <https://treeherder.mozilla.org/perf.html#/alerts?id=5801>, and fixed
>    a flickering issue
>    <https://bugzilla.mozilla.org/show_bug.cgi?id=1330814> in the mean
>    time!
>    - Mason Chang made the Youtube settings widget less janky
>    <https://bugzilla.mozilla.org/show_bug.cgi?id=1351733> on Windows with
>    D2D when the video is fullscreen.
>    - David Baron made the flushes caused by the code that watches your
>    mouse to know which side of the window to put the status bar when you hover
>    a link less severe
>    <https://bugzilla.mozilla.org/show_bug.cgi?id=1307134>.
>    - Neil Deakin removed a synchronous layout flush
>    <https://bugzilla.mozilla.org/show_bug.cgi?id=1334635> that used to
>    happen when closing a window which would slow down the window going away.
>    - Dão Gottwald removed some obsolete tab animation telemetry
>    <https://bugzilla.mozilla.org/show_bug.cgi?id=1345315> which could
>    slow down tab animations (yes!).  Dão also removed a synchronous
>    layout flush <https://bugzilla.mozilla.org/show_bug.cgi?id=1356655>
>    which could slow down detaching a tab into a new window and he also
>    lazified some code to avoid some more layout flushes
>    <https://bugzilla.mozilla.org/show_bug.cgi?id=1356663> which were
>    related to the status panel.
>    - Markus Stange made the Gecko Profiler not kill your battery after
>    you stop profiling
>    <https://bugzilla.mozilla.org/show_bug.cgi?id=830990>, and also made
>    it so that once you start profiling a thread, you can actually stop
>    profiling it <https://bugzilla.mozilla.org/show_bug.cgi?id=1346592>.
>    - Michael Layzell excluded some common file JS file extensions
>    <https://bugzilla.mozilla.org/show_bug.cgi?id=1352684> from the
>    expensive computation that we run on Windows to determine the mimetype of a
>    file from its extension.
>    - Kris Maglione made it possible to load add-on SDK modules lazily
>    <https://bugzilla.mozilla.org/show_bug.cgi?id=1314861>.  He also made 
> loading
>    ExtensionContent.jsm lazy
>    <https://bugzilla.mozilla.org/show_bug.cgi?id=1317697>.  These two
>    changes together (but probably mostly the former) showed great
>    improvements on Talos
>    <https://bugzilla.mozilla.org/show_bug.cgi?id=1314861#c52>.  This is
>    even true for users without any add-ons using the add-on SDK since these
>    modules are also used in our internal code.
>    - Robert Helmer created a Go Faster add-on
>    <https://bugzilla.mozilla.org/show_bug.cgi?id=1356676> to quickly
>    deploy the fix of bug 1353216
>    <https://bugzilla.mozilla.org/show_bug.cgi?id=1353216> to Firefox 52
>    users even before they upgrade to Firefox 53 which includes the fix!
>    - Edouard Oger made Firefox Sync UI code cache the DateTimeFormat
>    objects <https://bugzilla.mozilla.org/show_bug.cgi?id=1350613> where
>    possible.
>    - Alastor Wu made some Fennec media controls code that could be
>    expensive not run on Firefox desktop
>    <https://bugzilla.mozilla.org/show_bug.cgi?id=1348803>.
>    - Makoto Kato added a cache for document encoder objects used by
>    TextEditor <https://bugzilla.mozilla.org/show_bug.cgi?id=1352882>, in
>    order to improve the performance of setting the value of
>    HTMLInputElement.value.
>    - Tom Schuster optimized Object.hasOwnProperty()
>    <https://bugzilla.mozilla.org/show_bug.cgi?id=1344469>.  This is a
>    commonly used JavaScript built-in on real web pages, really nice
>    optimization to have!
>    - Florian Quèze removed a synchronous layout flush
>    <https://bugzilla.mozilla.org/show_bug.cgi?id=1353563> that used to
>    happen when displaying each item in the awesome bar.  He improved the
>    awesomebar even more by caching the one-off search buttons instead of
>    regenerating them every time we open the popup
>    <https://bugzilla.mozilla.org/show_bug.cgi?id=1312999>.  Furthermore,
>    he ensured that we don't pay the cost of initializing UITour.jsm for
>    pages that do not display a UI tour
>    <https://bugzilla.mozilla.org/show_bug.cgi?id=1349742>.
>    - Wei-Cheng Pan added telemetry probes for navigation timings and time
>    to first byte measures
>    <https://bugzilla.mozilla.org/show_bug.cgi?id=1344893>.
>    - Shu-yu Guo improved the timing of script source compression by
>    delaying it until GC
>    <https://bugzilla.mozilla.org/show_bug.cgi?id=1348134>.  Previously we
>    used to do this when parsing JavaScript (on a separate thread) which is
>    wasteful because it would mean that we'd have to decompress the compressed
>    source during page load sometimes, and also burning needless CPU cycles
>    during JS parsing isn't wise.
>    - J. Ryan Stinnett made the Developer Toolbar not create a network
>    listener for every single tab that you have open
>    <https://bugzilla.mozilla.org/show_bug.cgi?id=1346854>.  Besides perf
>    wins, this means fewer OOM crashes too!
>
> Thanks for reading!  Until next time, happy hacking!
>
> --
> Ehsan
>
> _______________________________________________
> firefox-dev mailing list
> firefox-...@mozilla.org
> https://mail.mozilla.org/listinfo/firefox-dev
>
>
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to