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

欢迎!请参阅关于页面以了解更多此网站的工作方式。

+13
序列
重新标记

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

票夹中包含所有重要细节、基准测试结果和代码。我想知道人们是否通常使用transients,他们如何决定是否使用transients会带来性能提升而不是降低,以及其他可能的疑问。当我通过transients做事情时,我总是感到矛盾重重,可能是因为《用Clojure的乐趣》一书中说transients对于小型输入是不高效的。使用当前版本的Clojure进行的基准测试总体上确认了这一点。

这个更改是否会影响对象的哈希或等价语义?
我有信心这不会。补丁引入了没有新概念——在当前实现中,除了根节点之外的所有节点都是按需复制的,而只有根节点是预先复制的。补丁只是将现有的行为扩展到根节点。
对于好奇的人们,你能在Github上贴出你的补丁吗?:)
嗨,Janet!你可以在以下链接中的ticket中查看补丁: https://clojure.atlassian.net/jira/software/c/projects/CLJ/issues/CLJ-2786; 它可以在附件中找到。或者你是问是否需要在Github上上传,因为作为纯文本看的话不太容易读取?
嘿,Alex,我一开始甚至没有意识到那是一个git diff。是的,我原来希望能有一个github上的branch或类似的东西:P
的确,原始补丁不便于在浏览器中查看。当在本地查看时,大多数编辑器至少会为更改着色,但你仍然不能像在仓库中的git提交一样很好地导航。

重要的是,发送补丁是向Clojure贡献代码的唯一接受工作流程。这就是为什么你会看到有附件但没有PR的Jira补丁票。

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

登录注册来回答此问题。

...