mik*_*era 10 java optimization performance constants clojure
我正在编写一些依赖于许多常量的Clojure代码.
它们将在紧密的内部循环中使用,因此通过Clojure编译器+ JVM组合尽可能高效地使用和优化它们非常重要.我通常会在Java中使用"public static final"常量来达到同样的目的.
申报这些的最佳方式是什么?
我认为 - def全局命名空间中的东西尽可能接近.
我相信Clojure 1.3(或者可能是1.4)允许你在a上^:constant添加一个标记def,表示编译器应该是一个常量,所有引用都应该在编译时解析.
显然它是Clojure 1.3,而^:const不是^:constant.请参阅Clojure ^:const如何工作?总结.