由:jafingerhut
clj-1073-add-print-interruptibly-patch-v1.txt,日期为2012年11月8日,与Colin的补丁0001-Allow-thread-interruption-in-print-sequential.patch(日期为2012年9月21日)是同一思路,但它只检查(Thread/interrupted),如果新的变量print-interruptibly为真。其默认值为假。
由test.sh脚本驱动perftest-print.clj程序的性能测试结果,适用于Clojure 1.5-beta1和两个不同的补丁。所有运行时间均为已耗时间,单位为秒,并按升序排序以方便比较。
总结:当print-interruptibly保留为默认的false值时,性能结果与今天基本相同。当print-interruptibly绑定到true时,性能结果正如预期地较慢,大约与Colin的补丁相同。
原始的1.5-beta1未更改
13.75 13.80 13.83 13.87 13.93
使用这个新的 print-interruptibly 补丁,默认值为 print-interruptibly
假值
13.86 13.91 14.01 14.08 14.14
使用这个新的 print-interruptibly 补丁,默认值为 print-interruptibly
在打印过程中绑定到真(因此是 perftest-print.clj 的一个稍微修改的版本,在代码的核心周围使用(binding (link: print-interruptibly true)
...
)
15.29 15.44 15.45 15.62 15.63
当应用补丁 0001-Allow-thread-interruption-in-print-sequential.patch 时
...
15.38 15.46 15.48 15.49 15.50