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