Topic Archive

# 性能

2 articles

查一次系统版本要 14 秒:测试慢在 94 万个 .o 文件上

一次 macOS 测试变慢的排查:host_supported 调用 NSProcessInfo.operatingSystemVersion,CoreFoundation 为了本地化版本字符串去找主 bundle 的 .lproj 目录,裸可执行文件的主 bundle 就是它所在的目录;target/debug/deps 里有 94.7 万个条目(94 万个 .o,来自 macOS 上 dev 构建默认的 split-debuginfo=unpacked);用一个只调用一次 operatingSystemVersion 的小程序测出空目录 2 毫秒、30 万个文件 290 毫秒、真实目录 13.6 秒;以及前两次为什么都对上了症状却没找到原因。

100 万字还能流畅打字吗:给留白做一次性能体检

留白 0.6.3 对比 0.1.0 的性能复盘:在离屏 WKWebView 里端到端计时,两个版本交替多轮;以 EditorState 为键的 WeakMap 缓存让每次移动光标都整篇重算,改以 state.doc 为键后 30 万字富文稿从 16.5 ms 降到 2–3 ms;resolveInner 只看右侧,段落末尾打字走不上快路径;CodeMirror 只解析到可见区之后 10 万字,大纲缺标题;Markdown 增量解析的开销随顶层块数增长,同样 100 万字每字从 0.45 ms 到 12.4 ms;字数统计放进 Web Worker、Mermaid 等首帧画完再加载、esbuild 代码分割;以及 CI 里的性能预算。