speedmark 对比 Electron:6 MB、45 MB、0.18 秒
发布于 2026.09.10 · sunlabs
今天你能装到的大多数 Markdown 编辑器,本质上都是穿着桌面外衣的网页。这不是在批评它们的作者:一套代码跑三个平台,确实是划算的买卖。只是这个买卖附赠了一个浏览器内核,而你每次打开应用都要为它买单。
speedmark 走的是另一条路。它是一款原生 Rust 应用,用 egui 自己绘制界面。没有 Chromium,没有 WebView2,没有 WebKit——编辑器和你的操作系统之间没有任何中间层。
最关键的三个数字
| speedmark | 基于 Electron 的编辑器 | |
|---|---|---|
| 安装包体积 | 6 MB | 约 165 MB |
| 内存占用(空闲) | 45 MB | 约 320 MB |
| 冷启动 | 0.18 秒 | 约 2.4 秒 |
这些是各技术栈典型表现下的量级数据,不是在某台特定笔记本上跑出来的微基准。具体数值会随机器浮动,但这个差距不会。
重量究竟从哪来
一个 Electron 构建会把整套 Chromium 运行时打包进去。你还没写一行产品代码,就已经背上了约 150 MB 的浏览器。
体积已经够烦人了,内存更糟。Chromium 不是一个进程,而是好几个:每个都有自己的堆,自己的垃圾回收器。一个本该只是「一段文本 + 一根滚动条」的编辑器,实际上要管着一个渲染进程、一个 GPU 进程和一堆工具进程。
启动是最容易体感到的地方:浏览器内核得先启动完,你才有可能敲下第一个键。
egui 改变了什么
egui 是即时模式(immediate mode)的 GUI 库。它不维护一棵保留式的控件树再去 diff,而是每一帧重新描述界面,交给 GPU 绘制。对我们来说有两点关键影响:
- 没有东西需要「启动」。 进程起来了,窗口就在了。
- 没有网页引擎需要养着。 没有渲染进程,没有 JavaScript 堆,你只是读文件时不会有额外的内存税。
再加上精简的 Rust release 构建——开启 LTO、针对体积调优——整个应用大约 6 MB,几乎在窗口边框画完之前就已经打开了。
我们放弃了什么
坦诚地讲取舍,比堆一张漂亮的对比表更重要。
- 我们无法复用 Web UI 代码,也不能直接引入 npm 组件库。每个控件都得自己画。
- 文本排版、输入法行为和可访问性依赖 GUI 框架,而不是成熟的浏览器引擎,所以要花更多功夫打磨。
- 生态更小。缺什么,就自己造。
对于一个专注的 Markdown 编辑器来说,我们认为这笔交换是值得的。文本编辑器不需要浏览器,它需要的是足够快,并且不挡路。
试试看
speedmark 采用一次性买断:首发期间 $6.9,之后 $9.9。没有订阅,没有账号,没有同步服务器。