(set! *unchecked-math* true)(defn add-up ^long [^long n] (loop [n n i 0 sum 0] (if (< n i) sum (recur n (inc i) (+ i sum)))))(defn fib ^long [^long n] (if (<= n 1) 1 (+ (fib (dec n)) (fib (- n 2)))))(comment ;; ~130ms (dotimes [_ 10] (time (add-up 1e8))) ;; ~1180ms (dotimes [_ 10] (time (fib 41))) )
来自2.66ghz i7 Macbook Pro OS X 10.7 JDK 7 64bit的所有数字
如您所见,Node.js被删除了。这与1.3.0 alphas一起使用,但是如果您知道自己在做什么,则可以在1.2.0中实现相同的目的。
在我的机器上,用于添加1e8的Node.js 0.4.8约为990ms,fib 41约为7600ms。
Node.js | Clojure | add-up 990ms | 130ms | fib(41) 7600ms | 1180ms



