欢迎回来
登录你的知识库账户
忘记密码?
还没有账户?立即注册
创建账户
注册你的专属知识库
已有账户?去登录
找回密码
输入注册邮箱获取验证码
返回登录
请输入图片中的验证码以继续注册
加载中...
取消
新建收藏
手动添加你喜欢的内容
取消
编辑头像与昵称
上传新头像或修改你的显示昵称
支持 JPG/PNG,最大 2MB
取消

问题反馈

notebasewww.notebase.cn
控制台
内容库
动态
管理
账户
U
用户
--
在线
v0.8.7 · 知识库
笔记
KnowledgeBase
网络无边,知识有迹。
0笔记
0工具
30推荐

分类导航

按主题直达

编辑精选

站内用户贡献 · 真实笔记

最新收录

每日更新
继续浏览全部内容 →
>
笔记
0
加载中...
工具
0
此页用于记录用户反馈问题后的每一次改进
笔记用法

“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。

md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。

要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。

工具用法

在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。

要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。

工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。

隐藏笔记

写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。

适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。

数据安全

你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。

技术

全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。

理念

这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。

原则

不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。

更多

产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。

举报

如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。

趋势
// 点击导航加载发现
归档
// 归档为空
最近浏览
// 暂无浏览记录
发布
// 加载中...
用户发布
// 加载中...
用户管理
// 加载中...
访问统计
// 加载中...
内容审核
// 加载中...
个人信息
// 加载中...
返回首页

Firefox Quantum:从并行架构到 Rust 重写,浏览器性能复兴的技术内幕

1970/1/1编程开发

Firefox 通过引入多进程架构和 Rust 编写的并行组件,重新找回速度优势,并规划了未来性能提升路径。

背景:硬件已变,浏览器需跟上

过去十年 CPU 从单核高频转向多核并行,但许多软件(包括 Firefox)未能充分利用这一变化。Chrome 之所以在早期比 Firefox 更快、更流畅,正是因为其工程师预见了多核趋势,率先采用了多进程架构。而 Firefox 虽然也看到了方向,但由于拥有庞大的历史代码库,迁移过程更加曲折。

粗粒度并行:奠定基础

粗粒度并行是指将程序拆分为彼此独立、不需要频繁通信的大任务块,这样可以在多核 CPU 上并行执行,同时避免数据竞争等棘手 bug。对于浏览器,最自然的切分单位是标签页:每个标签页独立运行,互不阻塞;浏览器自身的界面(chrome)单独一个进程。

Electrolysis(多进程架构)

Electrolysis 项目为 Firefox 引入了类似 Chrome 的多进程架构,这是 Quantum 的地基。因为改动巨大,从 2016 年起在小范围用户中测试,到 2017 年中才向所有用户默认启用。

Quantum Compositor(合成器进程)

将合成器(Compositor)移动到独立进程,主要收益是稳定性:图形驱动崩溃不再拖垮整个浏览器。同时,由于合成器可以独立于主线程运行,也改善了响应性。

Quantum DOM(任务优先级)

即使为每个标签页分配独立的主线程,主线程仍需处理许多任务,而这些任务的重要性各不相同。例如,响应用户按键比执行垃圾回收更紧迫。Quantum DOM 提供了任务优先级机制,使高优先级任务先执行,从而提升响应速度。该机制目前已落地,未来还将引入“抢占式调度”进一步优化。

细粒度并行:走向极致性能

粗粒度并行能让空闲核不闲着?不,它只是更好利用硬件,但仍有大量核心在部分时刻空闲。例如,一个新页面加载时只能使用分配给它的单个核心,即使其他核空闲也无法帮助它。细粒度并行则不同:它将一个大型任务拆成许多小单元,分散到多个核心上处理。

例如 Pinterest 页面中多个图钉可以并行渲染。这样不仅降低延迟,还能提升原始速度——核心越多,页面加载越快。

但细粒度并行通常需要共享内存,这会导致数据竞争(data race)。Firefox 的解决方案是:创造一种无数据竞争的语言——Rust,并用它构建并行引擎 Servo,证明细粒度并行在浏览器中可行且 bug 更少。

Quantum CSS(Stylo)

Stylo 将 CSS 样式计算完全并行化,使用了“工作窃取”(work stealing)技术动态平衡各核心负载。效果是线性加速:样式计算时间约等于“原始耗时 / 核心数”。

Quantum Render(WebRender)

GPU 拥有数百至数千个核心,WebRender 通过精心规划渲染命令,让 GPU 核心保持高利用率。WebRender 计划于 2018 年落地。与此同时,Advanced Layers 项目通过批量渲染优化当前 GPU 使用模式,带来了即时收益。

未来展望

团队还在探索渲染管线的其他部分是否能应用细粒度并行,未来数月将进行更多调研。

清除性能回退:Quantum Flow

除了架构升级,Firefox 代码库中还存在一些“偷溜进来”的性能问题。Quantum Flow 团队像“性能突击队”一样,聚焦关键用户场景(如加载社交媒体信息流),跨团队协作定位为什么 Firefox 比别的浏览器慢,并推动修复。该团队带来了许多显著的性能提升。

结语

Firefox Quantum 的回归是架构革新与工程执行力的胜利。通过粗粒度并行解决响应性,细粒度并行提升速度,再加上性能突击队清理历史债务,Firefox 重新回到了性能第一梯队。而更快的未来,才刚刚开始。


原文链接:https://hacks.mozilla.org/2017/11/entering-the-quantum-era-how-firefox-got-fast-again-and-where-its-going-to-get-faster/

编写使用方法
Markdown 格式 · Ctrl+Enter 确定
新建笔记
预览
数据表格
点击单元格编辑 · Tab 移动
A1fx
Sheet1
BIH1H2≡🔗</>
隐私提醒

取消
编辑工具
取消