根据过去几年的语言 shootout 比较,Clojure 和其他 Lisp 方言一直表现比大多数其他动态语言更好。为什么会是这样呢? 是因为它的同构性吗?
编辑:
我不知道 Clojure 也和 Java 和 Scala 一样被编译成字节码。 这个 stackoverflow 帖子解释了为什么 Clojure 能同时享受编译和解释两种方式的优势。
根据过去几年的语言 shootout 比较,Clojure 和其他 Lisp 方言一直表现比大多数其他动态语言更好。为什么会是这样呢? 是因为它的同构性吗?
编辑:
我不知道 Clojure 也和 Java 和 Scala 一样被编译成字节码。 这个 stackoverflow 帖子解释了为什么 Clojure 能同时享受编译和解释两种方式的优势。
回答这个问题几乎是不可能的 - 这在很大程度上取决于基准代码编写得有多好,测试的内容是什么,是否允许使用利用本地代码的库,是编写“惯用”代码还是针对性能进行优化等。
因此,像往常一样,您应该谨慎对待所有微基准测试。
尽管如此,在某些情况下,以下原因可能会给Clojure带来优势: