评论者:jafingerhut
clj-1073-add-print-interruptibly-patch-v1.txt,日期为2012年11月8日,与Colin的补丁0001-Allow-thread-interruption-in-print-sequential.patch(日期为2012年9月21日)想法相同,但它只在变量print-interruptibly为true时检查(Thread/interrupted)。它的默认值是false。
通过测试脚本 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
默认为 false 值时
13.86 13.91 14.01 14.08 14.14
使用这个新的 print-interruptibly 补丁后,print-interruptibly
在打印过程中将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