开发者近期发布了 Pilates 2.0,这是一个专为终端 UI 设计的纯 TypeScript Flex 布局引擎,旨在替代 Ink 终端框架中使用的 WASM Yoga(Facebook 的 Yoga 引擎编译版)。在最新发布的 2.0 版本中,Pilates 展示了惊人的性能提升,其选取的 9 个基准测试场景均实现了对 WASM 版 Yoga 的性能超越。测试数据显示,在 tiny(10节点)、realistic(100节点)及 stress(1000节点)等不同规模场景下,Pilates 的中位延迟分别比 Yoga 快了 4.2 倍、2.7 倍和 3.2 倍;在涉及文本变更的 hot-relayout 场景中,性能优势更是达到了 10 倍。值得注意的是,在此前一周 Yoga 尚领先 5 倍的 hot-structural 场景(每帧动态增删节点),Pilates 经过优化后实现了反超,速度快了 1.7 倍。这一性能飞跃主要得益于两项核心底层优化:一是将 flex 分配规则从依赖所有兄弟节点的复杂计算改为线性递推,大幅减少了计算开销;二是在构建期对默认值进行常量折叠,将每个 cell 的字段数从约 15 个降至 7 个。Pilates 2.0 保持了与 1.x 版本 API 的字节级兼容,MIT 协议开源,开发者欢迎社区进行对抗性 Benchmark 验证。
事件分析
💡 核心观点:算法优化比底层语言选型更具决定性,纯 TS 凭借现代 JIT 加速与算法革新实现性能反杀 WASM。
原文链接:V2EX 分享发现





