2024 年 Clojure 状况调查 中分享您的想法!

欢迎!请查看 关于 页面了解更多关于这个站点如何工作的信息。

0
ClojureScript

如果您的代码中仅需要 {{cljs.pprint}},则在 Closure 处理和典型的 gzip 压缩后,您将得到额外的 30 KB 的 JavaScript。

此票据旨在查看我们是否能为此命名空间做些什么以使其更具 DCE 友好性。

4 答案

0
_评论由:mfikes_ 提供

附加的补丁几乎完全消除了 {{cljs.pprint}} 需要但从未使用的情况下的所有代码。(由于需要保留一些公共 {{defmulti}},因此仍保留一小部分代码。)但是,只要使用像 {{pprint}} 或 {{cl-format}} 这样的东西,大部分代码就会作为非死亡代码重新引入。

就运行时性能而言,在 REPL 中 {{pprint}}

{:a 2, :b [1 2 3], :c {:x 1, :y :kw}, :d [1 :ab {:x 1}], :e "string"}

大约快 10%,可能是由于使用了 {{case}} 结构而不是 {{defmulti}}。同样在 {{:advanced}} 下大约快 20%。(也许修订可以适用于 Closure 优化。)
0

评论由:mfikes 提供

通过 CI 和 Canary。

0

评论由:mfikes 提供

将 CLJS-2885.patch 添加到 Patch Tender (i)

0
by
参考来源:https://clojure.atlassian.net/browse/CLJS-2885(由mfikes报告)
...