惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Apple Machine Learning Research
Apple Machine Learning Research
The GitHub Blog
The GitHub Blog
Hugging Face - Blog
Hugging Face - Blog
阮一峰的网络日志
阮一峰的网络日志
爱范儿
爱范儿
量子位
宝玉的分享
宝玉的分享
人人都是产品经理
人人都是产品经理
博客园_首页
博客园 - 【当耐特】
Last Week in AI
Last Week in AI
Martin Fowler
Martin Fowler
Microsoft Azure Blog
Microsoft Azure Blog
美团技术团队
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
aimingoo的专栏
aimingoo的专栏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
GbyAI
GbyAI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
腾讯CDC

V2EX

[分享发现] AI-DECLARATION.md 天猫超市真的是作死的节奏,商品价格直接按照集齐所有优惠的最低价来显示了 微信多次让我手机卡死并且重启 Vibe 了一个六一亲子小活动,欢迎老哥们带娃来玩 昨天突发奇想搞一个 AI+真人的论坛,今天用 AI 做出来,自己的 QwenPaw 也加入进去了,大家还有什么好点子吗? 大家用 codex、Antigravity 都开 tun 吗? 国内哪家键盘厂有性价比高的分离式键盘吗? 虚拟网卡导致 dns client 的 cpu 占用飙升 [东莞] Java 工程师 aipet.dev 升级 — 换了 GPT-Image-2 生成,像素宠物效果好不少 ClaudeCode 历史会话本地存储 自从有了 AI 之后, Commit 数量是不是已经不适合衡量开发效率了 Gemini Pro 掉权益别慌! SheerID 认证申诉全流程手把手教程 送码 AI 驱动的日程闹钟⏰ 一句话或一张图 定日程/闹钟 开了节点之后没法访问微软账户 基于 Go 做了一个的 TG 媒体管理 Bot [☕Vibe Coding🤖] Vibe Coding 了一个项目, 2 周基本已全部完成,感慨一下我已经基本上可以下岗了。 豆包网页版和 win 客户端居然都没一个全局对话搜索的功能? 2026 年新鲜荔枝上市了!荔枝王品种,自家荔枝田现摘发货,冷链包邮! [程序员] 分享一个在浏览器里查看 JSON 日志和接口返回的小工具 发现 google pay 买 gpt 5x 没有多 25 刀的“税”, claude 就有 出售一个厦门归属地靓号 [问与答] MiMo 有什么强于其他模型的吗?想起之前送的 max 都还没有用。 [程序员] Antigravity IDE 我咋感觉比 Antigravity/Codex APP 好用啊 [🔥火热招聘] 上海 国金证券社招内推,诚聘 Java / Android / 数据开发 / 测试 / AI 产品等岗位 双显配置,你们都用的什么组合? Mac 版微信劫持了 Ctrl+E,又没地方关,这设计是怎么过评审的 作为程序员,你愿意为“0 AI 代码介入”的汽车支付溢价吗? [分享创造] 之前做的免费 HTML / 网页转 Figma 插件,现在终于发布了 王自如 JD 如下: [问与答] 有没有不用买车也能让新手熟练掌握开车驾驶的办法? [问与答] 男方染上赌博,夫妻双双负债,女方选择以何种方式离场? gpt 绑卡问题 后 AI 时代,我们会怎么活着 这一瞬间感觉被 AI 击中了 各位大佬,计划 618 买荣耀手机,线下店还是官方商城,哪个更好,求指点 赠送 ¥50 openai models 额度 racknerd 机房迁移后更换了新 IP,但网络路由配置还是旧信息 qwen3.7-max 的代码能力提升非常大 [问与答] 你们有没有觉得,用了 AI 后,收入没增长,开销却变大了? 做了第一款 iOS 小游戏:用 SwiftUI 写了个水墨麻将连连看,送 50 个内购码 有一张好卡和一个好 IP,支付订阅确实非常丝滑 DigVPS 测评 - AkileCloud(AK)新增 JP 原生 IP 产品详评数据: IP 还行,不是大路货。 有 WeChat 换微信的吗? [出售]smarthost 黑色星期五,折扣款,新加坡年付 10.95 美元小鸡 寻找内测用户 – InkPDF Android PDF 批注应用(互测欢迎!) 阿里云 tokenplan 和 百度 codingplan 慎买 鹅厂取消组长负责制;拉勾网破产; Meta 裁员补偿曝光! chatgpt 代充现在还稳吗? 用同一个手机订阅 Claude 或用同一个 IP 使用 Claude 被连坐的概率大吗? [免费赠送] 住宅 IP 流量 CDK,新用户专享,手慢无 Claude API 企业中转,新用户直接送 10 美元额度 京东实名下出现非本人账号,两年了 [出售]Colocrossing CCS LEB 特供款 10 刀/年小鸡!支持 WIN 系统(目前官网无货) [Claude] 用 Google 礼品卡订阅 Claude 方案可行吗? [问与答] 春风若有怜花意 可否许我再少年 萌新的第一台软路由上 N5105 是不是有点奢侈? Stsrship v3 首飞无意外, payload 达到 100T 怎么给 AI 提供代码?我不会给 AI 表达说话? AeonRiddles 中文名定为“诡案迷踪” 个人长期买一些 U, USDT 或 USDC 都可以 AI 音频降噪在线工具 [OpenAI] 整了个让 Claude Code、Codex、Cursor 共享记忆的小工具 分享一个自己写的私有化 ngrok 类工具:量子隧道 千万别更新 OneDrive 26.078.0426 [实习] Casbin 开源社区《Talent 2026》远程研发实习生招募中! [分享发现] 看完给给阿嬷的情书了. 只有我觉得非常中式恐怖吗? windows11 通行密钥出现问题 感觉 GPT 5.5 最近降智实在离谱 alt-tab 在版本 11.0 正式升级为 alt-tab pro 版 [分享创造] 精选 X 上的图片提示词开源社区 - Open Prompts [编程] 被 composer 2.5 震撼了 它们怎么突然长良心了? [程序员] Claude desktop 求助 [请教] 怎么把 OpenCode 的 Go 订阅提供给 ClaudeCode 用? copilot pro 已不给新学生用户使用 [Claude] 听说 Claude Code 可能要通过视频监控程序员,防止程序员离开电脑前了 大家用了 cursor composer 2.5 吗?感觉又快又强啊 求教,Google 账号地区怎么修改(不是 Google Play 里的地区) [生活] [记录]-2026-05-22 藏龙卧虎的邻居 支付中台系统,基于 jeepay 重构了 2 天,目标是做企业部署发行版遇到的问题分享 富途,老虎,长桥被罚,以后买港股美股只能在链上购买了吗? 月底继续卖自家产今年新茶,评论抽奖 [FK Claude] 一个只做 Claude 的中转站 [Apple] 解决新美区 Apple ID 登录后变国区的问题 [分享创造] AI 会员账号店铺导航 [分享创造] vibe 了一个 v 站皮肤,喜欢的老哥可以试试 #员工被骂滚后遭开除获赔近 16 万# IOS 有哪些去广告的方案, quanx 的去广告 微信图片卡的不行 寻找长录音会议音频的总结软件,想要本地化有安全保障的 codex 怎么设置防询问? PHP 全栈(主要是小程序), 二开功能, 需要对接支付和开发商家功能. 有兴趣接活的联系, 有要求 听说裁员又开始了? DeepSeek api 改成永久打折了 openclash 限制不能打开某些网站 [Surge] 6 折转 Surge 车位 用 mac 连接 Windows RDP,没有 udp, windows 却有 [分享发现] vanyosapce.com 跑路了? [自然语言处理] Humanize-Text 4 步把 AI 文本变成人类写作: DeepSeek×2 + Google + Niutrans [☕Vibe Coding🤖] 大家觉得 OpenCode 和 Claude Code 哪个更好用呢
Pilates 2.0:纯 TS flex 布局引擎,9 个基准都比 WASM Yoga 快
nnnnon · 2026-05-23 · via V2EX

最近在做一个终端 UI 的 flex 布局引擎,叫 Pilates 。纯 TypeScript,零运行时依赖,跟 Ink 用的 WASM Yoga(Facebook 的 flex 引擎,C++ 编译成 WASM)对照过 33 个 oracle fixture 加一个结构化 fuzzer 。

本周发的 2.0 想分享一下:在我跑的 9 个基准场景里,纯 TS 引擎都比 WASM Yoga 快。包括 hot-structural(每帧 append + remove 一行),这个场景一周前 Yoga 还领先 5×,现在反过来 Pilates 快 1.7×。

中位延迟,win32-x64,Node 22:

场景 Pilates Yoga 比率
tiny (10 节点) 4.5µs 19.0µs 4.2×
realistic (~100) 121µs 328µs 2.7×
stress (~1000) 601µs 1.94ms 3.2×
big (~5000) 3.32ms 9.17ms 2.8×
huge (~10000) 8.62ms 18.5ms 2.1×
hot-relayout 16.3µs 83.0µs 5.1×
hot-relayout + boundaries 15.8µs 77.8µs 4.9×
hot-relayout (文本变更) 8.9µs 90.6µs 10×
hot-structural 71.3µs 118.3µs 1.7×

提前说一下:9 个场景是我自己挑的,不能代表所有 workload 。复现 pnpm bench,5 分钟。

这周做的两件事让 hot-structural 从 ~450µs 降到 ~70µs:

  1. flex 分配规则之前每个 cell 都依赖前面所有兄弟的尺寸,一行 100 cell 就有 ~300 条依赖边。改成线性递推,每个 cell 只读前一个 cell 的位置和尺寸。

  2. 大概一半的 grammar input field 永远停留在默认值上(margin 0, minWidth 0 那种)。在 grammar 构建期把它们 fold 成常量,每个 cell 的字段数从 ~15 降到 ~7 。

公开 API 跟 1.x 字节级一致,calculateLayout() 没变,升级就有提速。

仓库(MIT):https://github.com/pilatesjs/pilates npm:https://www.npmjs.com/package/@pilates/core

欢迎对抗性 benchmark,如果有 workload 是这个方案破解不了的,我很想看看。