{"id":2897,"date":"2018-03-01T13:10:59","date_gmt":"2018-03-01T18:10:59","guid":{"rendered":"https:\/\/mikeconley.ca\/blog\/?p=2897"},"modified":"2023-12-20T16:25:10","modified_gmt":"2023-12-20T21:25:10","slug":"firefox-performance-update-2","status":"publish","type":"post","link":"https:\/\/mikeconley.ca\/blog\/2018\/03\/01\/firefox-performance-update-2\/","title":{"rendered":"Firefox Performance Update #2"},"content":{"rendered":"<p>So I&#8217;ve had my eyes out, watching for bugfixes that are landing in the Firefox code base that will speed it up for our users.<\/p>\n<p>But I can&#8217;t do it alone. So I have a request: Have you seen a bugfix land recently that&#8217;ll likely impact Firefox&#8217;s performance in a positive way for our users? If so, <strong>I want to hear about it<\/strong>, <a href=\"https:\/\/goo.gl\/forms\/o6999HE8VG8ygDwf2\">and you should fill in this form to let me know!<\/a><\/p>\n<p><a href=\"https:\/\/goo.gl\/forms\/o6999HE8VG8ygDwf2\">Here&#8217;s that link again, just in case you missed it.<\/a><\/p>\n<p>Anyhow, without further ado &#8211; here&#8217;s a small selection of interesting bugs that have been fixed recently that should improve Firefox performance!<\/p>\n<ul>\n<li>Rob Wood has made it so that Talos tests run on Nightly builds now produce Gecko Profiles for both <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=1431427\">Linux<\/a> and <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=1425850\">MacOS<\/a>! <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=1434056\">Windows<\/a> is coming soon. This is great for engineers working on improving our performance on our internal benchmarks.<\/li>\n<li>Xidorn Quan <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=1417138\">enabled Stylo for chrome-level CSS documents<\/a>! This allows us to process style changes to the browser UI in parallel using the same techniques that we use for web content <a href=\"https:\/\/hacks.mozilla.org\/2017\/08\/inside-a-super-fast-css-engine-quantum-css-aka-stylo\/\">that shipped in Firefox Quantum<\/a>.<\/li>\n<li>Kris Maglione made it so that <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=1440747\">we don\u2019t load the Onboarding script<\/a> for every single tab.<\/li>\n<li>Jan de Mooij landed a patch that made <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=1438232\">browser JavaScript run more quickly and consume less memory<\/a> early on during main and content process start-up<\/li>\n<li>Henri Sivonen <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=1431025\">took an old and slower chunk of C++ code that checks for RTL characters in a string, and replaced it with a newer, faster version written in Rust<\/a>. This has <b>dramatically<\/b> reduced the processing time on text nodes for pages where we\u2019re unsure if RTL characters exist. For example, for strings in Thai, we now spend 3% of the original time searching those strings for RTL characters! That\u2019s a huge improvement!\n<ul>\n<li>\n<p><div id=\"attachment_2898\" style=\"width: 1096px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2898\" data-attachment-id=\"2898\" data-permalink=\"https:\/\/mikeconley.ca\/blog\/2018\/03\/01\/firefox-performance-update-2\/index\/\" data-orig-file=\"https:\/\/mikeconley.ca\/blog\/wp-content\/uploads\/2018\/03\/index.png\" data-orig-size=\"1086,645\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"RTL improvement\" data-image-description=\"\" data-image-caption=\"&lt;p&gt;Substantial!&lt;\/p&gt;\n\" data-large-file=\"https:\/\/mikeconley.ca\/blog\/wp-content\/uploads\/2018\/03\/index.png\" class=\"size-full wp-image-2898\" src=\"https:\/\/mikeconley.ca\/blog\/wp-content\/uploads\/2018\/03\/index.png\" alt=\"A table showing dramatic improvements on various RTL string processing benchmarks\" width=\"1086\" height=\"645\" \/><p id=\"caption-attachment-2898\" class=\"wp-caption-text\">Substantial!<\/p><\/div><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>So I&#8217;ve had my eyes out, watching for bugfixes that are landing in the Firefox code base that will speed it up for our users. But I can&#8217;t do it alone. So I have a request: Have you seen a bugfix land recently that&#8217;ll likely impact Firefox&#8217;s performance in a positive way for our users? [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[874,861,79],"tags":[],"class_list":["post-2897","post","type-post","status-publish","format-standard","hentry","category-firefox-mozilla-2","category-mozilla-2","category-technology"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/prmTy-KJ","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts\/2897","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/comments?post=2897"}],"version-history":[{"count":3,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts\/2897\/revisions"}],"predecessor-version":[{"id":2901,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts\/2897\/revisions\/2901"}],"wp:attachment":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/media?parent=2897"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/categories?post=2897"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/tags?post=2897"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}