2017年1月2日

Firefox 使用 Adblock Plus 時記憶體更省了

譯註:本文原文發表於 2015 年七月。2015 年 9 月發佈的 Firefox 41 已針對此問題進行更新,縮減了 Adblock 等類似情境下的記憶體用量,本文為問題與解決過程的概述,於 2016 年 5 月完成翻譯。

去(2014)年,我寫了一篇文章,討論 ABP 對 Firefox 的記憶體使用情況的影響,以下是該篇文章的重點。

第一點, 只要啟用 ABP,就會持續佔用大約 60~70 MiB 的資源。[…] 這看起來大概是因為有額外的 JavaScript 記憶體用量,也有部分原因歸咎於額外記憶體用於版面配置。

第二點,每一個 iframe 都會占用約 4 MiB 的資源。這是因為 ABP 會把一個龐大的樣式置入每一個 iframe 中。許多網頁上都會有多個 iframe,因此被占用的記憶體也會快速的增加。 舉例來說,如果我開啟了 TechCrunch,然後捲到每一篇文章中的社群網站按紐 […],在沒有開啟 ABP 的情況下,Firefox 使用了大約 194 MiB 記憶體,開啟了 ABP 後,占用的量變為 417 MiB,先前的兩倍以上。

還有一個更極端的案例是 這個網頁,它包含超過 400 個 iframes。在沒有 ABP 的情況下,Firefox 會使用大約 370 MiB 的資源,開啟了 ABP 後,占用的量就上升到了 1,960 MiB。(譯註:原始連結已消失,[1] [2] 是近似的重製頁面)

(其實這一段敘述不太精確;實際上的資源使用量是以「文件」(Document)數計算,包含了分頁中的最上層文件和 iframe 裡的文件。)

上個禮拜,Mozilla 的開發人員 Cameron McCormack 完成了一些補丁(Patch)修正  bug 77999,這個 bug 已經存在超過 14 年。這個補丁讓 CSS 的關聯資料能被共享(具體來說,這些補丁增加了一個資料結構來共享「使用者代理樣式表」的結果)就此完全解決了第二個問題,兩個問題之中比較重要的部分。

舉例來說,在上面提到的「極端例子」(概稱 Vim Color Scheme Test)裡,每個文件的記憶體用量都減少了 3.62 MiB。該網頁中有 429 個文件,總共減少了大約 1,500 MiB,讓該網頁的記憶體使用量下降到 450 MiB 左右,和沒有開啟 ABP 時相比已經沒有差那麼多了。(這些數據都是在 64 位元的架構下進行測試的。)

我也在多個網站上測試,並且確認當啟用 ABP 時,每個文件均能節省約 3.6 MiB 的記憶體。 不同網頁上的文件數目相差甚大,因此實際效果取決於頁面狀態(我想再針對 TechCrunch 做測試,但是它的首頁已經整個換新了,且不再觸發這麼大量的記憶體。)舉例來說,我在其中一個測試時分別打開了 紐約時報CNNBBC 的首頁和其中的四篇文章,總共有 15 個分頁。在包含了 Cameron 補丁的 Firefox 上啟用 ABP 時,可以少用約 90 MiB 的記憶體,減少了 10%以上。

就算沒有使用 ABP,這個補丁仍然有其他好處。比如說,在 Vim Color Scheme Test 裡,每個文件的實體記憶體用量都下降約 0.09 MiB,總共減少了 40 MiB 左右。

如果您想要自行測試的使用量的變化,您會需要 Nightly 版本的 Firefox 和 ABP 的開發中版本(因為最近出現了一個和 JavaScript 分析有關的錯誤,造成舊的 ABP 無法在 Nightly 上運作)。 在 Firefox 的 about:memory 頁面中,您可以發現「style-sets」的大小變小了。您也會在「layout/rule-processor-cache」下方看到一個新項目,這是新的共享資料的量測數據,它通常只有幾 MiB 而已。

這項改進已經準備放進 Firefox 41 ,並預定於 2015 年 9 月 22 日發佈。而其他釋出頻道的使用者,Firefox 41 Beta 預定將在 8 月 11 日釋出,而 Firefox 41 開發者版本則會於一、兩天內發佈。

原文 / Firefox 41 will use less memory when running AdBlock Plus | Nicholas Nethercote 作者 / Nicholas Nethercote

φ 蒼天炎劍 翻譯 - Kevin-WY、Irvin 編輯

9 則留言:

  1. When students seek our Nursing Coursework Writing Services from us, they are assured to receive the best Nursing Assignment Writing Help Services that meets all their writing needs and Affordable Nursing Paper Writing Services that has been written following all the instructions.

    回覆刪除
  2. 我以前从未读过这样的东西。 这是一篇完全大胆的文章,使用了很强的主意来表达。 我很喜欢。 jigsaw puzzle

    回覆刪除
  3. Finding the best Help with Medical Assignment is not easy unless one is keen to establish a professional medical assignment help & medical homework help online.

    回覆刪除
  4. Research papers on aviation industry are tricky to complete and aviation students have been searching for aviation research paper help and aviation term paper services.

    回覆刪除
  5. Online political science essay writing help services are very common nowadays since there are very many students seeking Political Science Writing Services and political science research paper writing services.

    回覆刪除
  6. Finding the best online history research paper writing services and History Research Paper Services is not easy unless one is keen to establish a professional history assignment writing service provider & history coursework help online.

    回覆刪除
  7. Those seeking psychology essay writing services have an advantage of hiring the best psychology writing service company that is familiar with psychology assignment help services for their Psychology Research Writing Services.

    回覆刪除