2024 Clojure状态调查!中分享你的想法。

欢迎!请参阅关于页面了解此功能的一些更多信息。

+13
序列
重新标记

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

票据包含了所有重要的细节、基准测试结果和代码。我想听听人们是否普遍使用transients,他们是如何决定transients会导致性能提升而不是性能下降的,以及任何其他疑问。我在使用transients doing时总会有矛盾的心情,可能是因为在《Clojure乐趣》の一节中声称transients对于小输入是不高效的。使用Clojure当前版本的基准测试总体上确实证实了这一点。

这个更改是否会影响对象的hash或等价语义?
我确信它没有。这个补丁没有引入任何新概念——在当前实现中,除了根节点,所有节点都已经按需复制,而只有根节点事先复制。补丁只是将现有行为扩展到了根节点。
对于好奇的人,你可以把你的补丁发布到 Github 上吗? :)
你好,Janet!您可以在以下票据中查看补丁:https://clojure.atlassian.net/jira/software/c/projects/CLJ/issues/CLJ-2786; 它可以在附件中找到。或者你是不是想上传到 Github,因为它作为纯文本不易阅读吗?
嘿,Alex,我一开始甚至没有意识到那是一个 git diff。是的,我希望在 Github 或其他地方有一个分支 :P
确实,在浏览器中查看原始补丁不是最人性化的。当局部查看时,大多数编辑器至少会对更改进行着色,但您仍然无法像在仓库中的git提交那样更好地导航它。

关键在于,发送补丁是向 Clojure 贡献代码的唯一接受工作流程。这就是为什么您会在带有补丁的 Jira 票据上看到,但没有在 Github 上的 PR。

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

登录注册以回答此问题。

...