欢迎!请参阅关于页面以了解更多关于该功能的信息。
当{{Delay}}被实现时,{{f}}被设置为{{nil}}。我们可以避免{{truth_}}和{{not}}调用,并直接与{{nil}}进行比较,以获得微小的性能提升。
在{{script/noderepljs}}中,这会导致以下结果
(simple-benchmark [x (delay 1)] @x 1e9) (simple-benchmark [x (delay 1)] (realized? x) 1e9) (simple-benchmark [x (doto (delay 1) deref)] (realized? x) 1e9)
速度分别提高了6%,11%和9%。
评论由:mfikes发表
在所有引擎的{{:advanced}}下,事务描述中的3个基准测试产生以下加速数字
` V8: 1.18, 1.15, 1.09SpiderMonkey: 1.08, 1.04, 1.19JavaScriptCore: 1.70, 0.86, 0.93
`
Nashorn: 1.05, 1.15, 1.14 ChakraCore: 1.21, 0.52, 0.81
CLJS-1975.patch不再适用
CLJS-1975-2.patch重新基准线和通过CI。