欢迎!请参阅关于页面了解此功能的工作方式。
当{{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。