请在Clojure 2024 调查问卷中分享您的想法!

欢迎!请参阅关于页面以了解此工作的更多详细信息。

+13
序列
重新标记

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

票据包含了所有重要细节、基准测试结果和代码。这里我想知道人们通常是否使用transients,他们是如何决定transients是否会导致性能改进而不是退步,以及任何其他可能的疑问。我在使用transients进行某些操作时一直兼收并蓄,可能是因为在《Clojure的乐趣》中声称transients对小输入效率低下。使用当前版本的Clojure进行的基准测试总体上证实了这一点。

这个变更会影响对象的哈希或等价语义吗?
我确信这不会。这个补丁不引入任何新概念 —— 在当前实现中,除根节点外的所有节点都已经在按需复制,只有根节点是预先复制的。该补丁只是将现有的行为扩展到根节点。
好奇的人,你能在Github上发布你的补丁吗? :)
嗨Janet!你可以在工单中查看补丁:[https://clojure.atlassian.net/jira/software/c/projects/CLJ/issues/CLJ-2786](https://clojure.atlassian.net/jira/software/c/projects/CLJ/issues/CLJ-2786);它可以在附件中找到。或者你是想上传到Github,因为它的纯文本文档不太容易阅读吗?
嗨Alex,我一开始甚至没有意识到那是一个git diff。是的,我原本希望能在github上创建一个分支之类的 :P
事实上,在浏览器中查看原始补丁并不是最符合人类习惯的方式。当本地查看时,大多数编辑器至少会对更改着色,但你仍然无法像在repo内部的git提交那样导航它。

事实是,发送补丁是向Clojure贡献代码的唯一接受工作流程。这就是为什么你会看到带有补丁的Jira票据,而GitHub上没有PR。

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

登录注册以回答此问题。

...