← 返回文章列表

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。没有订阅,没有账号,没有同步服务器。

获取 speedmark

了解 speedmark