功能网页版编辑器价格文档博客
下载购买 mori
基准测试 · 1.0 · 2026-09-09 实测

这些数字,我们能告诉你如何复现。

首页上有三项性能说明。这里列出了每项的测试方法、所用硬件,以及另外三款编辑器在同一台机器上处理同一份文档时的表现。下方每个数字都注明了生成它的命令。

0
空闲帧 / 10 s
18.2 ms
按键至像素,p95
387 ms
冷启动,100 KB 文件

环境

本页所有数据均来自同一台电脑:开发这款应用的笔记本,一套普通的集成显卡配置。Windows 版尚未在此测量,macOS 版仍在开发,完成后会在此添加对应数据。

机器操作系统显示器备注
笔记本,Intel i5-11300H,23 GB,Iris Xe(Mesa 25.2)Ubuntu 24.04,GNOME,X112560×1440 @ 180 Hz发布构建 1.0.0,提交 183cc22

测试文档:tools/perf/fixtures/doc100k.md(100 KB,874 行)· 运行 3 次,取中位数 · 指针停在窗口外 · 真实会话总线。

空闲帧

主张:没有操作时,mori 不进行绘制。在即时视图中打开文档,让编辑器失去焦点(插入符不闪烁),并在 10 秒内无任何输入(启动后 t = 5–15 s),统计编辑器自身的快照次数,即 GTK 每次要求编辑器绘制的次数。

平台10 s 内的帧数CPU,平均方法
Linux00.0%通过 tools/perf/gate.sh 统计编辑器快照

启用插入符闪烁时(窗口获得焦点时的默认状态),每次闪烁只会触发一次编辑器重绘 — 变化的只有插入符 — 窗口失去焦点后立即停止。这个闪烁是应用唯一允许保留的计时器;空闲时没有其他重复触发源。

输入延迟

结论:从按键到像素,第 95 百分位 18.2 ms。 由 tools/perf/index/e2e_latency.sh 在进程之外测量:用 XTest 注入按键,然后轮询屏幕直到光标行发生变化。100 KB 文档,实时视图,2560×1440 · 180 Hz。119 次按键:p50 14.1、p95 18.2、p99 19.1、最大 20.4 ms。

这个数字包含按键到像素之间的一切:工具包、合成器,以及等待下一帧的时间。这段等待会落在 0 到一个刷新间隔之间的任意位置——在 180 Hz 下最多 5.6 ms、平均 2.8 ms——所以它只能与同样刷新率下测得的其他编辑器并列。显示器自身的响应时间没有计入;我们没有测过。

冷启动

结论:在什么都没有缓存的情况下打开 100 KB 文件,从启动到窗口 387 ms。 冷启动指全新进程并清空页缓存,二进制、库和文件都从磁盘读取。缓存尚在的日常情况下,同样的启动是 259 ms。计时从 exec 开始,到窗口出现在屏幕上结束;首次绘制是同一个计时停在编辑器第一次绘出文档的时刻。

编辑器exec → 窗口缓存尚在首次绘制进程数
mori387 ms259 ms377 ms1
Typora814 ms511 ms—9
Obsidian2,975 ms2,862 ms—7
MarkText2,042 ms1,872 ms—6

方法:tools/perf/run-index.sh,冷启动=清空页缓存的全新进程,启动时打开 100 KB 文件,测五次。内存是文档排版完成、应用进入空闲后从 /proc 读到的 PSS,再减去用空文档测得的同一读数——也就是文档本身对我们的开销:70 MB 中的 9.4 MB。其余是这台机器上每个 GTK4 应用都要付的工具包与 GPU 底座,它会随驱动而变,所以我们公布的是其中属于我们的那一份。 二进制文件为 6.1 MB。首次绘制读自编辑器自身的帧计数器,而那只有我们的 dev 构建才有,所以另外三个用 — 而不是猜测。

同一台电脑,同一份文档

Typora、Obsidian 和 MarkText,各自在其内联编辑视图(Typora 的所见即所得、Obsidian 的实时预览、MarkText)中打开同一份 100 KB 文档,在上述机器上,与我们的数字来自同一次运行。内存是文档排版完成、应用进入空闲后整个进程树的 PSS;空闲 CPU 是窗口获得焦点且无输入的三十秒内进程树的 CPU;输入 CPU 是以人的速度每 150 ms 键入一个字符、共约 700 字期间进程树的 CPU。

编辑器版本PSS空闲 CPU输入 CPU进程数
mori1.0.0,提交 183cc2270 MB0.0%7.2%1
Typora1.14.9457 MB1.1%30.5%9
Obsidian1.12.7346 MB1.6%32.5%7
MarkText0.20.0-rc.1405 MB1.4%62.3%6

引擎最先分道扬镳的是空闲:窗口开着却什么都不做时,mori 用不到可测量的 CPU,每秒唤醒 0 次;三个 Electron 编辑器则停在 1.1–1.6 % 与每秒 29–75 次。第二处是输入:一个核的几分之一,对上三分之一到三分之二。第三处是内存:一个进程对六到九个,70 MB 对 346–457 MB。

MarkText 以 --no-sandbox 运行(它的沙箱在这个内核上启动不了);Obsidian 在单独的用户数据目录中运行。原始数据:tools/perf/results/2026-09-09-linux-myasus-180hz.json。

复现测试

测量脚本和结果文件都在仓库里;包含语料与原始数据的公开仓库正在准备,暂无日期。tools/perf/run-index.sh 运行全部指标,tools/perf/check.sh 按预算校验结果。如果你测出的数字与我们的相差超过 15 %,请 告诉我们;我们会公开这个差异。

最近一次运行:2026-09-09,针对提交 183cc22 运行了一次 tools/perf/run-index.sh——本页的所有数字,我们的和其他编辑器的,都来自那一次运行。每次发布都会重测。

只留下文字
简体中文
© 2026 mori