最近 Vue 团队表示,Vue 的响应式将会是所有前端框架中最快的!!!
而为什么 Vue 团队敢这么狂呢,其实是有原因的,因为在 Vue3.5 中引入了 alien-signals 这个库,就是因为这个,提升了整个响应式的性能!!
github PR 链接: https://github.com/vuejs/core/pull/12349
alien-signals,顾名思义,就是一个基于 signals 实现的库,它是基于 Vue3.4响应系统 + signals 去实现的一个全新的响应式库
以下是 alien-signals 的使用示例:
作者说了,这个库是当前所有 signals库 中速度最快的!!!我查了一下,现在基于 signals 实现的工具库还真不少~
经过此次优化,性能是原本的 400%,在 Vue3.5 中甚至可以提升至原本的 6500% !! 太可怕了吧!!!
到底为啥快呢?
这是团队发的,翻译一下大概就是:
- 1、当创建大数量的 ref、computed、effect 实例时,内存占用降低 13% (2.3MB -> 2.0MB)
- 2、在 computed 依赖 ref 的场景下,当 ref 改变会导致 computed 重新计算,而这一过程的速度会提升 30倍
- 3、代码逻辑的编写更加的合理,降低耦合度,提高了可维护性和可读性~
到底快了多少?
说了这么多,到底快了多少呢?有没有数据支撑呢?
有的,团队也发了一些前后对比的数据
最后列是性能提升的倍数
computed
ref
effect
体积变化
由于此次优化,修改了一些代码,所以导致响应的包体积也发生了变化