相关疑难解决方法(0)

Clojure的分析工具?

有没有人知道Clojure的一个好的分析工具或库?

我更喜欢可以在REPL中使用的东西,就像(with-profiling ...)Allegro Common Lisp那样.

沿着这些路线还有什么吗?

或者您对使用Clojure的(非商业)Java分析器有任何经验吗?

profiling clojure

40
推荐指数
4
解决办法
9789
查看次数

Microbenchmark Clojure功能

小Clojure的功能有多快assoc?我怀疑它assoc在100ns到3us范围内工作,这使得它很难计时.

运用 time

user=> (def d {1 1, 2 2})
#'user/d
user=> (time (assoc d 3 3))
"Elapsed time: 0.04989 msecs"
{1 1, 2 2, 3 3}
Run Code Online (Sandbox Code Playgroud)

显然有很多开销,所以我不相信这个基准.朋友们向我指出了Criterium,它处理了很多基准测试的痛苦(多次评估,预热JVM,GC请参见如何在Clojure中对功能进行基准测试?).

运用 Criterium

可悲的是,在如此小的基准上,即使是Criterium也似乎失败了

user=> (use 'criterium.core)
nil
user=> (def d {1 1 2 2})
#'user/d
user=> (bench (assoc d 3 3))
WARNING: JVM argument TieredStopAtLevel=1 is active, and may lead to unexpected results as JIT C2 compiler may not be active. See http://www.slideshare.net/CharlesNutter/javaone-2012-jvm-jit-for-dummies. …
Run Code Online (Sandbox Code Playgroud)

benchmarking clojure

5
推荐指数
2
解决办法
580
查看次数

标签 统计

clojure ×2

benchmarking ×1

profiling ×1