评论由: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。
通过测试.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) ...)
)
当应用补丁 0001-Allow-thread-interruption-in-print-sequential.patch
15.29 15.44 15.45 15.62 15.63
时
...(此处省略具体内容)
15.38 15.46 15.48 15.49 15.50