-
JavaScript: Hand-written JavaScript.
-
Idris-codegen-es: Idris 1.0 with idris-codegen-es.
-
Idris (Official JS): Idris 1.0 with official JavaScript Codegen.
-
PureScript: Using Latest PureScript.
-
PureScript (Uncurried): Latest PureScript with
Data.Function.Uncurry
. -
Idris (C): Idris 1.0 with C codegen on Windows x64.
-
C: Hand-written JavaScript, compiled with gcc 6.2.0, with Win64 settings and
-O3
.
All JavaScript files have been wrapped to add performance counter using process.hrtime
. Due to V8's optimization strategy, all tests are run in 20 times and all results are shown.
All Tests are run on:
- Node.js v6.9.5 LTS;
- Windows 10 RS2 (15063) x64;
- Dell workstation with Intel Xeon E5-2609 v3.
JavaScript | Idris-codegen-es | Idris (Official JS) | PureScript | PureScript (Uncurried) | Idris (C) | C |
---|---|---|---|---|---|---|
13.73339506 | 13.42742282 | 1704.505935 | 200.855022 | 22.124794 | 94 | 5.578 |
14.78157305 | 13.43711933 | 1689.17194 | 193.658534 | 21.573255 | 78 | 5.562 |
14.68451508 | 13.36427394 | 1757.765448 | 192.537088 | 21.568393 | 94 | 5.5 |
14.40595136 | 13.35289202 | 1724.666578 | 217.592446 | 22.068075 | 109 | 5.485 |
14.22472414 | 13.36110299 | 1720.508691 | 192.888756 | 21.689937 | 109 | 5.484 |
14.20338641 | 13.32920984 | 1666.046162 | 192.978969 | 21.524637 | 94 | 5.594 |
13.4270619 | 13.3442705 | 1615.222931 | 208.516077 | 21.572175 | 110 | 5.547 |
13.5088298 | 13.52317791 | 1643.122418 | 193.317672 | 21.539222 | 78 | 5.531 |
13.92866314 | 13.40879147 | 1603.685972 | 220.824436 | 21.506811 | 109 | 5.531 |
13.88535464 | 13.43780537 | 1506.79053 | 215.318221 | 21.523557 | 109 | 5.5 |
14.14017507 | 13.39441686 | 1509.226273 | 196.178007 | 21.492226 | 79 | 5.547 |
14.68206731 | 13.55266719 | 1580.30144 | 208.429646 | 21.50465 | 93 | 5.516 |
14.903307 | 13.35848305 | 1478.445922 | 213.409169 | 21.493306 | 125 | 5.515 |
14.84051769 | 13.43006437 | 1633.779733 | 191.941793 | 21.484663 | 94 | 5.547 |
14.01911638 | 13.39064089 | 1598.434188 | 201.801984 | 21.564072 | 94 | 5.547 |
14.5271873 | 13.56396808 | 1620.066866 | 217.814466 | 21.521936 | 109 | 5.547 |
14.46749568 | 13.47575952 | 1631.17707 | 205.041538 | 21.546245 | 110 | 5.469 |
13.77878838 | 13.39785791 | 1560.412516 | 222.862054 | 21.510052 | 93 | 5.5 |
13.86227816 | 13.53480292 | 1686.185198 | 210.021062 | 21.488984 | 110 | 5.484 |
14.1432812 | 13.41552771 | 1631.03986 | 202.36919 | 21.514914 | 125 | 5.531 |