关键字Intern(符号)方法使用递归调用来获取有效的关键字实例。我认为它可以重新写成'for循环'来降低方法调用的成本。
。
因此,我开发了这个补丁,并做了一些简单的基准测试。在运行'ant jar'之后,运行以下命令三次:
java -Xms64m -Xmx64m -cp test:clojure.jar clojure.main -e "(time (dotimes (link: n 10000000) (keyword (str n))))"
在补丁之前
"耗时:27343.827毫秒"
"耗时:26172.653毫秒"
"耗时:25673.764毫秒"
在补丁之后
"耗时:24884.142毫秒"
"耗时:23933.423毫秒"
"耗时:25382.783毫秒"
看起来这个补丁使关键字Intern稍微快了一点。
补丁已附上并进行了测试。
感谢。
附言:我已经签署了贡献协议,我的电子邮箱是[email protected]。