由 jafingerhut 发布的评论
日期为2012年11月8日的clj-1073-add-print-interruptibly-patch-v1.txt与Colin的2012年9月21日的补丁0001-Allow-thread-interruption-in-print-sequential.patch的思路相同,不同之处在于它只有在新的变量*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
在打印时绑定到true(因此perftest-print.clj的一个略作修改的版本,在代码的核心部分四周使用(bindings 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