Effect 4.0 正式发布:从零重写,性能大幅跃升
今天,我们正式发布 Effect 4.0。
这是我们迄今最有野心的一次发布。Effect 从零开始彻底重写:速度更快,内存占用大幅降低,tree-shaking 后的产物体积也小得多。
最小程序体积,越低越好
3.x 35.6 kB 4.x 7.1 kB 并发任务吞吐量 6.4×每秒任务数,越高越好
3.x 0.71M 4.x 4.57M 每个 fiber 内存占用降低 86%5 万个 fiber 的堆内存,越低越好
3.x 157.5 MB 4.x 21.8 MB所有包均由相同源码构建,经过 minify 和 gzip 压缩。运行数据为九次全新进程运行的中位数。
一个生态,零依赖
许多原本独立的包如今都整合进了 effect 本体,周边的包则统一版本号、同步发布。
核心包 effect 没有任何运行时依赖。我们掌控发布的每一行代码,因此不存在第三方依赖链,供应链攻击的风险也更低。
从单个函数到分布式集群
Effect 最初的目标要小得多,如今它已覆盖从单个函数到分布式系统的完整场景。
大家最初是被它的编程模型吸引:一个内置类型化错误、依赖注入、资源管理、结构化并发和可观测性的 effect system。标准库和平台集成随之发展起来,之后又出现了面向分布式系统的更高级原语,包括持久化工作流(durable workflows)和集群。
每一层都构建在同一个模型之上,从底到顶保证一致。
主流采用
Effect 如今已在从初创公司到大型企业的各类公司中投入生产环境。
4.x 的采用量已超过 3.x(最近 7 天)
4.x 56% 3.x 44% 0 10M 20M 30M 40M 50M 2024 年 4 月 2025 年 1 月 2026 年 1 月 2026 年 9 月围绕它还孕育出了拥有自己社区的项目:面向云基础设施的 Alchemy,以及面向前端的 Foldkit。
如果你的团队已在生产环境运行 Effect,欢迎联系我们。告诉我们你正在构建什么,以及我们如何提供帮助。
长期支持
许多团队正将产品押注于 Effect,他们理应获得可据以规划的承诺。从本版本开始,Effect 的每个主要版本都享有长期支持政策。
对于 Effect 4.x,这意味着:
- 错误修复:持续至 2029 年 9 月,或 5.0 发布后一年(取较晚者)
- 安全修复:持续至 2029 年 9 月,或 5.0 发布后两年(取较晚者)
支持期至少持续三年。若 5.0 发布得足够晚,错误与安全修复期将超过这一最低期限。
我们将在一篇后续文章中分享完整的政策与发布流程。
下一步
我们的首要任务是稳定更多生态组件。部分较新的模块仍被标记为 @stability unstable 或 @stability experimental,这意味着它们可能在次要版本或补丁版本中发生变化。我们将利用生产环境的反馈来优化这些模块,并将它们提升为稳定版。
除此之外,我们将继续扩展 Effect,使其成为覆盖整个应用的统一编程模型,提供更广泛的原生平台支持和更多高层原语。
交给你们
正在迁移?请从迁移指南开始。将其交给你的编码代理,它应该能自动完成大部分工作。
感到好奇?查看我们的文档,或者问问你的代理为什么你应该使用 Effect 来构建应用。
感谢所有做出贡献、测试版本、报告 bug 以及帮助他人入门的人。多亏了你们,Effect 才变得更好。
欢迎在 X、Bluesky 和 Discord 上分享消息,与我们一同庆祝。
感谢您对此事的关注。
分享最后更新于 2026 年 9 月 30 日