_评论者: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微秒
执行时间标准差:597.958933纳秒
执行时间下限四分位数:9.631444微秒(2.5%)
执行时间上限四分位数:11.618551微秒(97.5%)
使用的开销:1.724553纳秒
补丁后
评估次数:6000900次,在60个样本中,每个样本调用次数为100015次。
平均执行时间:10.212543微秒
执行时间标准差:564.874941纳秒
执行时间下限四分位数:9.528383微秒(2.5%)
执行时间上限四分位数:11.334033微秒(97.5%)
使用的开销:1.827143纳秒