官方结果
前不久,Strve.js 刚刚发布了一个大版本5.6.2,最大的特性就是支持JSX语法,让 Strve.js 编码方式更加多样。另外,我还将 Strve.js 发布到 js-framework-benchmark 这个 JavaScript 框架榜单项目上,并获得了对于我来说不错的排名。因为当时 Chrome 的版本还在114,没有发布新的官方版本(Official results),所以只能先看快照结果(Snapshot of the results),快照结果可能针对混合浏览器版本,每个基准测试的运行次数可能有所不同,所以结果有些偏差。
图片
那就只能等待官方版本发布了,当时还耐不住性子问了下作者,作者也非常耐心地回答了我的问题。作为开发人员,这一点我很佩服!就在早晨,作者还特意给我回了消息,“Chrome 115发布了” !真是太有心了!
图片
我赶紧打开最新官方结果网址:
https://krausest.github.io/js-framework-benchmark/2023/table_chrome_115.0.5790.98.html
心想会不会偏差太大啊!这种心态跟看成绩单没啥区别。打开之后,我从后面往前数,还是之前的名次,这下心放下了。
性能测试基准分为三类:
- 持续时间
- 启动指标
- 内存分配
持续时间
目前 63 个框架,Strve.js 排名第 50 名。
图片
启动指标
目前 63 个框架,Strve.js 与其他6个框架并排第 6 名。
图片
内存分配
目前 63 个框架,Strve.js 排名第 12 名。
图片
贡献
Strve.js 登上JS框架的榜单之后,我也发布了一篇文章,反响挺不错的,收到了很多朋友们的点赞和鼓励。在这里,非常感谢大家长期以来对我的支持!
另外,我还比较开心的是收到了两条比较有质量的PR。
第一条:
作为该框架的活跃用户,我注意到开发人员社区对其越来越感兴趣。添加 npm 使用趋势将为了解该框架的流行度和采用情况提供有价值的见解。
我相信这一补充将对框架的现有用户和潜在用户都有好处。它将有助于跟踪其增长并提供进一步改进的机会。
图片
第二条:
生命周期挂钩 onMounted 和 onUnmounted 应该多次应用,例如在不同的组件中使用。但它们只能使用一次,因为变量 mountHook 和 unMountedHook 只是普通值。
所以我修改了三个关于生命周期钩子的文件,包括lib/diff.js、src/diff.ts和types/diff.d.ts,以允许它们被多次使用。
你创建的程序令人兴奋,所以我阅读并探索了你的代码和提交历史,直到接近 3.00。我相信通过你的代码我能理解你的大部分想法。如果你允许的话,我愿意成为你的伙伴。该程序正在开发中。它具有更大的优化潜力。我希望我们能为所有 Web 开发人员构建一个强大且流行的框架。
图片
尤其是第二条,大佬居然阅读代码接近 3点,当时我看时间也相近,确实没有错。非常感谢这位大佬对 Strve.js 的贡献,也希望我们国内社区能有越来越多这样的大佬。
两位大佬的PR已经合并了,将在新的版本中发布。
伙伴
在上面大佬说了一句话让我觉得非常好,“如果你允许的话,我愿意成为你的伙伴。该计划正在开发中。它具有更大的优化潜力。我希望我们能为所有 Web 开发人员构建一个强大且流行的框架”。当然,Strve.js 还有很多的优化空间,比如优化算法等等。我一个人的精力有限,非常欢迎大家加入 Strve.js 大家庭,成为伙伴!
代码虽然是枯燥的,但是我们携手做一件伟大的事情,是非常有成就感的!
Strve 源码仓库:https://github.com/maomincoding/strve
Strve 中文文档:https://maomincoding.gitee.io/strve-doc-zh/