评论者:jafingerhut
clj-1073-add-print-interruptibly-patch-v1.txt 文件,日期为2012年11月8日,与Colin于2012年9月21日提供的补丁0001-Allow-thread-interruption-in-print-sequential.patch思路相同,不同之处在于它只检查(Thread/interrupted)如果新的变量print-interruptibly为真。它的默认值为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
在打印时绑定到 true
(因此是一个稍微修改过的
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