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

欢迎!请参阅关于页面了解有关如何操作的更多信息。

0
Clojure
重新标记

我意外发现了这个
因为对于每个单元格都会调用,并且集合用作谓词
#{分隔符引号\return\newline}
在编译时不是一个常量表达式,对于每个单元格,clojure.lang.RT.set最终会调用。

对于像

  (def xs (vec (for [_ (range 1000)]
                 (mapv identity (range 10)))))

这样的无聊输入数据,它最终消耗大约50%的CPU

可以通过在write-csv内绑定集合到局部变量来轻松避免

如果编译器能检测到这一点就太好了。

谢谢
Ben

1 个回答

+1

已登录为https://clojure.atlassian.net/browse/CLJ-2702,有关编译器改进的想法。

在data.csv中进行了更改,并发版为1.0.1。

在哪些场景下你会将其提取出来?
...