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
...