2024年Clojure状态调查!中分享您的想法。

欢迎!请参阅关于页面了解此功能的工作方式。

0
ClojureScript

当{{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%。

4 个答案

0

评论者:mfikes

在所有引擎的{{:advanced}}下,问题描述中的3个基准测试产生以下速度提升

`
  V8: 1.18, 1.15, 1.09
SpiderMonkey: 1.08, 1.04, 1.19
JavaScriptCore: 1.70, 0.86, 0.93

   Nashorn: 1.05, 1.15, 1.14
ChakraCore: 1.21, 0.52, 0.81

`

0

评论者:mfikes

CLJS-1975.patch不再适用

0

评论者:mfikes

CLJS-1975-2.patch重置基线并通过CI。

0
...