由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
在打印时绑定到 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