代码之家  ›  专栏  ›  技术社区  ›  Marko

JVM上性能最好的lisp是什么

  •  10
  • Marko  · 技术社区  · 14 年前

    JVM上最高效(最快)的lisp实现是什么?

    我知道Clojure可以使用类型提示快速生成,ABCL一般不被认为是快速的。我没有在JVM上使用任何方案的经验,但是听说Kawa也非常快。

    4 回复  |  直到 14 年前
        1
  •  12
  •   mikera    13 年前

    使用Clojure可以达到Java的速度(当然还有类型提示),但是不能超过Java(在一些非常罕见的情况下除外)。我不知道其他的口齿不清可能是相同的速度,但不是更快。

    也就是说通话的标准速度等等。

    为了使数据结构更快,Rich发明了一种方法,使它们在某种程度上是可变的,这样它们仍然是功能性的(而且速度要快得多),他已经在做下一件大事了(阅读新兴语言营谈论Rich的文章)。

    使用clojure编写并发代码要容易得多,因此它确实是用来制作快速程序的。

    接下来就是数学了。JVM上有三种速度级别。带装箱类型的数学,带溢出检查或不带溢出检查的primitiv类型。Clojure提供了所有这些,因此没有限制。

    所以clojure在JVM上的速度和它在JVM上的速度一样快。

    附笔。

    协议就像真正快速的multmethods,它们不是那么通用,但是调度速度足够快,可以在clojure核心中使用它们(因此不再依赖java)。看看他们的方式很酷。

        2
  •  9
  •   Arthur Ulfeldt    14 年前

    不过,没有太多好的数据 this 其他一些似乎表明了显而易见的事实。不可变语言在执行非不可变任务时会受到轻微影响,而非不可变语言在执行高度并行任务时会受到影响。

    简言之:我投clojure:)

        3
  •  3
  •   p-lo    14 年前

        4
  •  1
  •   Roger Keays    7 年前

    过去几周我一直在测试各种lisps。就启动时间、REPL响应时间和运行基本脚本而言,Kawa是迄今为止我尝试过的最快的JVM实现。作者在2010年发布了一些业绩统计数据,显示Kawa的表现明显优于clojure。基督教青年会。

    http://per.bothner.com/blog/2010/Kawa-in-shootout/