_Comment made by: tsdh_
以下是一些基准测试。
user> (use 'criterium.core)
nil
user> (let [coll (doall (take 1000000 (repeat inc)))
f1 (apply comp* coll)
f2 (apply comp coll)]
(bench (f1 0) :verbose)
(println "---------------------------------------")
(bench (f2 0) :verbose))
amd64 Linux 3.4.2-gentoo 2 个 CPU
OpenJDK 64 位服务器 VM 22.0-b10
运行时参数:-agentlib:jdwp=transport=dt_socket,server=y,suspend=n -XX:+TieredCompilation -Xmx1G -Dclojure.compile.path=/home/horn/Repos/clj/testi/target/classes -Dtesti.version=0.1.0-SNAPSHOT -Dclojure.debug=false
评估次数: 600
平均执行时间: 112.324465 毫秒 95.0% CI: (112.247218 毫秒, 112.380682 毫秒)
执行时间标准偏差: 6.513809 毫秒 95.0% CI: (6.477450 毫秒, 6.553029 毫秒)
执行时间下限 Ci: 105.609401 毫秒 95.0% CI: (105.609401 毫秒, 105.622918 毫秒)
执行时间上限 Ci: 122.353763 毫秒 95.0% CI: (122.353763 毫秒, 122.405315 毫秒)
---------------------------------------
amd64 Linux 3.4.2-gentoo 2 个 CPU
OpenJDK 64 位服务器 VM 22.0-b10
运行时参数:-agentlib:jdwp=transport=dt_socket,server=y,suspend=n -XX:+TieredCompilation -Xmx1G -Dclojure.compile.path=/home/horn/Repos/clj/testi/target/classes -Dtesti.version=0.1.0-SNAPSHOT -Dclojure.debug=false
评估次数: 1440
平均执行时间: 43.519663 毫秒 95.0% CI: (43.516732 毫秒, 43.524062 毫秒)
执行时间标准偏差: 492.299089 微秒 95.0% CI: (490.829889 微秒, 494.198137 微秒)
执行时间下限 Ci: 42.781398 毫秒 95.0% CI: (42.781398 毫秒, 42.781398 毫秒)
执行时间上限 Ci: 44.157311 毫秒 95.0% CI: (44.157311 毫秒, 44.158513 毫秒)
nil