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

欢迎!请参阅关于页面以获取更多关于如何使用此页面的信息。

+13 投票
序列
重定向标记

抱歉顺序反了,先提交了票据/补丁。票据在这里: https://clojure.atlassian.net/jira/software/c/projects/CLJ/issues/CLJ-2786

票据包含所有重要细节、基准测试结果和代码。我希望听听大家是否一般使用transients,他们如何评价transients是否会导致性能提升而不是降低,以及任何其他可能的疑问。当通过transients做某事时,我总是感到矛盾,可能是因为《Clojure的乐趣》一书中声称transients对小输入效率不高。使用当前版本的Clojure所做的基准测试总体上确认了这一点。

这个改动是否会影响对象的哈希或等价语义?
我非常有信心它不会有影响。该补丁引入了没有新的概念——在当前实现中,所有节点(除了根节点)都已经按需复制,只有根节点是预先复制的。该补丁只是将现有行为扩展到根节点。
by
对好奇者说,你能把你的补丁发到Github吗? :)
by
您好珍妮特!您可以在工单中查看该补丁:[链接](https://clojure.atlassian.net/jira/software/c/projects/CLJ/issues/CLJ-2786);它可以在附件中找到。或者您是在询问是否要上传到Github,因为它作为纯文本并不容易阅读吗?
by
嗨亚历克斯,我当时甚至没有意识到那是一个git diff。是的,我本希望能在github上创建一个分支或类似的东西 :P
by
确实,原始补丁不是浏览器中最友好的东西。在本地查看时,大多数编辑器至少会对更改进行颜色化,但你仍然无法像在仓库中的git提交一样很好地导航它。

问题是,发送补丁是向Clojure贡献代码的唯一接受工作流程。这就是为什么你会看到那些附有补丁的Jira工单,以及Github上的PR(Pull Request)。

无论如何,这是我Github上的提交:[链接](https://github.com/alexander-yakushev/clojure/commit/9d12dec06e4a9e0ec21e1b43741dc7d6adafc45e)

登录注册以回答此问题。

...