欢迎!请查阅关于页面,了解这个工具的工作原理。
我正在尝试减少我们js包的大小,并发现出于历史原因,我们有一个名为Specter的依赖项。它的优化大小为198.23 KB(真是个大家伙)。我还未找到ClojureScript的基准测试,只有一个问题。
我想知道是否有人在生产环境中使用过它(CLJS)?基准测试怎么样?
嗨,Aleksandr,我们正在Powernoodle.com中使用Specter进行对象转换和从大型嵌套map结构中进行子选择。我们使用om/next,并将状态存储在一个非常复杂的map中。Specter真正发挥作用的地方在于你需要更改现有的数据结构并获取相同类型的结构,与使用正常clojure函数相比,后者通常返回sequables,而不考虑输入。一旦您掌握了语法及其用法,Specter是一个非常强大的工具,并创建非常直观、易读的代码。@nathanmarz在Clojure/Specter Slack频道的帮助也极为出色 - 向他简单构思这一概念表示衷心的感谢。然而,我没有基准测试。说实话,没有它,我们的代码会变得更复杂,而所有Clojurists都不喜欢复杂的代码。:-)Ian
这不是一个真正的基准测试,但当我把一个基于 walk 的纯 ClojureScript 代码重构为一个使用 Specter 的代码(一个进行某些递归转换的代码),在 slow 的设备上 UI 从无响应到几秒钟变得更快和可忍受。据我所记,性能提升了两个数量级(~100ms => ~2ms),多亏了定制的 Specter 导航器。