Mozilla昨天推出了Firefox 41。如今,Adblock Plus确认了更新“大量提高”其Firefox附加的内存使用情况。

Adblock Plus是Firefox最受欢迎的加载项。根据Mozilla的附加网站,它拥有超过2000万用户。

这种特殊的记忆问题是2014年5月由Mozilla和Adblock Plus提出的。但实际上在2001年4月(错误77999)中首次向Bugzilla报告了贡献的错误之一(错误77999)。

Mozilla Developer Cameron McCormack最近修复了错误77999,启用与CSS相关的数据共享。与级联用户代理样式表的结果的数据结构现在是Go,它允许第二问题(错误988266)固定。

简而言之,Adblock Plus为其元素隐藏功能注册了单个样式表,但Firefox正在为正在加载的每个页面创建它的新副本。这意味着随着创建更多副本,内存消耗可能会飙升(在一个边缘案例中最多2GB)。

Mozilla Developer Nicholas Nethercote于7月份分享了一些数字,当时释放Firefox夜间建立时:

例如,在上述“极端示例”(A.K.A.VIM颜色方案测试)上的内存使用量下降3.62 MIB。该页面上有429个文件,这是总减少约1,550个MIB,将该页面的内存使用率降低至约450密码,这并不多于adblock plus缺少的那么多。(所有这些测量都在64位构建中。)

我还在各种其他网站上进行测量,并在启用Adblock Plus时确认每份文件的一致节省〜3.6 MIB。文件数量从页面到页面差异很大,因此确切的效果大大取决于工作负载。例如,对于我的一个测量,我尝试从nytimes.com,cnn.com和bbc.co.uk中的每一个打开前页和四个文章,总共15个标签。使用Cameron的补丁用Adblock Plus应用了Firefox,使用约90 MiB的物理内存,这减少了超过10%。

即使未启用Adblock Plus,此更改也具有适度的好处。例如,在VIM颜色方案中,测试每个文档的内存用法均掉下0.09 MIB,从而减少了大约40 MIB的内存使用率。

您的里程当然取决于您的计算机和您访问的网站。自7月的夜间建立以来,这些改进一直在涓涓细流,然后是Firefox Developer Edition,然后到Firefox Beta,现在到最新的稳定版本。这是Mozilla和Adblock Plus的巨大胜利,因为Firefox现在使用“大约相同的内存量”,无论您是运行最流行的加载项。

许多Firefox用户很乐意使用更多内存来阻止广告,但现在他们不必尽可能多地使用。