_由killme2008_评论:
我开发了一个补丁来修复这个问题。我在clojure和clojure.data.json上运行了所有测试,没有失败。
使用criterium进行以下简单基准测试:
(use 'criterium.core)
(require '[clojure.data.json :as json])
(bench (json/write-str
{:a 1 :b 2 :c (range 10) :d "hello world"
:e (apply hash-set (range 10))}))
补丁前
评估次数:6180060,在60次样本中的103001次调用。
平均执行时间:10.302604 µs
执行时间标准差:597.958933 ns
执行时间下四分位数:9.631444 µs ( 2.5%)
执行时间上四分位数:11.618551 µs (97.5%)
总开销:1.724553 ns
补丁后
评估次数:6000900,在60次样本中的100015次调用。
平均执行时间:10.212543 µs
执行时间标准差:564.874941 ns
执行时间下四分位数:9.528383 µs ( 2.5%)
执行时间上四分位数:11.334033 µs (97.5%)
总开销:1.827143 ns