gpt4 book ai didi

performance - JVM 上性能最高的 lisp 是什么

转载 作者:太空宇宙 更新时间:2023-11-03 18:33:44 25 4
gpt4 key购买 nike

JVM 上性能最高(最快)的 lisp 实现是什么?通过 lisp 实现,我考虑了 lisp 家族中任何语言的所有实现,例如 Common Lisp、Scheme、Clojure,...

我知道使用类型提示可以使 Clojure 变得非常快,ABCL 通常不被认为是快速的。我没有在 JVM 上使用任何 Scheme 的经验,但听说 Kawa 也非常快。

最佳答案

使用 Clojure,您可以达到 Java 的速度(当然有类型提示),而且您无法比 Java 更快(在极少数情况下除外)。我不知道其他的 lisp 可能速度相同但速度不快。

所以说了标准的通话速度等等。

Clojure 的数据结构并不总是尽可能快,但真正弥补了线程安全、不可变和快速读取等其他属性。

为了使数据结构更快 Rich 发明了 transient 并使它们以一种仍然可用的方式可变(而且速度快了很多)并且他已经在研究下一件大事(阅读新兴语言营地谈话的富人)。

用 clojure 编写并发代码要容易得多,因此真正导入它是为了制作快速程序。

接下来是数学。 JVM 上有三个级别的 Speed。带盒装类型的数学,带溢出检查或不带溢出检查的原始类型。 Clojure 提供了所有这些,因此没有限制。

因此,接下来的事情是您使用 Java 的速度有多快,如果您必须使用包装器,您将不会表现得那么好,并且在大多数 JVM 语言中经常使用 java 调用。要在 clojure 中实现 clojure,clojure 需要添加一个低级构造,以便您可以在没有任何开销的情况下与 java 交互。

因此,Clojure 在 JVM 上的运行速度与它一样快。

附言

协议(protocol)就像真正快速的 multmethods 女巫不是那么通用,但分派(dispatch)速度足够快以在 clojure 核心中使用它们(因此不再依赖 java)。查一查它们太酷了。

关于performance - JVM 上性能最高的 lisp 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3367083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com