您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

解释C,Clojure,Python,Ruby,Scala和其他语言中的基准

解释C,Clojure,Python,Ruby,Scala和其他语言中的基准

大致答案:

Clojure代码中最重要的优化是在中使用类型化的原始数学is-prime?,例如:

(set! *unchecked-math* true) ;; at top of file to avoid using BigIntegers

(defn ^:static is-prime? [^long n]
  (loop [i (long 2)] 
    (if (zero? (mod n i))
      false
      (if (>= (inc i) n) true (recur (inc i))))))

有了这一改进,我让Clojure在0.635秒内完成了10k(即,在您的列表中排名第二快,击败Scala)

请注意,在某些情况下,您可能会在基准测试中打印代码- 这不是一个好主意,因为它会使结果失真,尤其是print在第一次使用像这样的函数导致IO子系统或类似东西初始化的情况下!

python 2022/1/1 18:42:03 有330人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶