2024 Clojure 截止状态调查! 中分享您的想法。

欢迎!请查看 关于 页面,了解更多关于这个网站信息。

0
ClojureScript

如果您需要在代码中使用 {{cljs.pprint}},则经过 Closure 处理和典型 gzip 压缩后,JavaScript 会增加额外的 30 KB。

本票务寻求查看我们是否可以为此命名空间做任何有助于使其更具 DCE 友好的事情。

4 答案

0
_评论者:mfikes_

附带的补丁基本上消除了在需要但未使用 {{cljs.pprint}} 的情况下的所有代码。(由于需要保留一些公共 {{defmulti}},因此保留了一些少量的代码。)但是,一旦使用诸如 {{pprint}} 或 {{cl-format}} 之类的代码,大部分代码将作为非死代码重新引入。

在运行时性能方面,在 REPL 中,

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

使用 {{pprint}} 大约快 10%,可能是由于使用 {{case}} 构造而替代了 {{defmulti}}。在 {{:advanced}} 下,这也大约快 20%。(也许修订版本可以接受 Closure 优化。)
0

评论者:mfikes

已在 CI 和 Canary 中通过。

0

评论者:mfikes

将 CLJS-2885.patch 添加到补丁咖啡(i)

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