Measured performance
TypeScript at .NET speed
Reproducible benchmark evidence from the pinned SharpTS revision, led by the target that matters most: meeting or exceeding Node.js.
Primary benchmark
SharpTS vs Node.js
Each row compares the same TypeScript workload in the same run environment. The chart uses a logarithmic scale so unusually large wins or gaps do not hide ordinary results.
Array Destructuren=100000.07×Behind
array-destructure/array-destructure?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 14.4 ms | 5.24 ms | 11.3 ms | 21 | 1 |
| Compiled | 120 µs | 55.9 µs | 111 µs | 624 | 4 |
| Node.js | 7.9 µs | 7.7 µs | 300 ns | 148 | 256 |
| Bun | Unavailable: unavailable | ||||
Array Destructuren=1000000.16×Behind
array-destructure/array-destructure?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 53.5 ms | 53 ms | 462 µs | 8 | 1 |
| Compiled | 623 µs | 559 µs | 274 µs | 241 | 2 |
| Node.js | 97.8 µs | 96.4 µs | 3.1 µs | 192 | 16 |
| Bun | Unavailable: unavailable | ||||
Array Includesn=10000.72×Behind
array-includes/array-includes?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 4.12 ms | 962 µs | 1.48 ms | 73 | 1 |
| Compiled | 97.3 µs | 92.4 µs | 10.7 µs | 193 | 16 |
| Node.js | 70.4 µs | 65.7 µs | 4.4 µs | 267 | 16 |
| Bun | Unavailable: unavailable | ||||
Array Includesn=100000.73×Behind
array-includes/array-includes?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 8.34 ms | 6.02 ms | 3.48 ms | 36 | 1 |
| Compiled | 939 µs | 914 µs | 36.7 µs | 160 | 2 |
| Node.js | 687 µs | 650 µs | 35.4 µs | 219 | 2 |
| Bun | Unavailable: unavailable | ||||
Array Methodsn=10000.47×Behind
array-methods/array-methods?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 3.9 ms | 1.1 ms | 1.78 ms | 77 | 1 |
| Compiled | 11.8 µs | 9.1 µs | 4.2 µs | 199 | 128 |
| Node.js | 5.6 µs | 4.6 µs | 5.3 µs | 212 | 256 |
| Bun | Unavailable: unavailable | ||||
Array Methodsn=100000.5×Behind
array-methods/array-methods?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 11.5 ms | 8.4 ms | 2.21 ms | 27 | 1 |
| Compiled | 101 µs | 90.1 µs | 8.4 µs | 185 | 16 |
| Node.js | 50.9 µs | 44.6 µs | 5.8 µs | 185 | 32 |
| Bun | Unavailable: unavailable | ||||
Array Methodsn=1000002.06×Faster
array-methods/array-methods?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 125 ms | 111 ms | 8.76 ms | 8 | 1 |
| Compiled | 1.07 ms | 849 µs | 224 µs | 281 | 1 |
| Node.js | 2.21 ms | 1.87 ms | 425 µs | 136 | 1 |
| Bun | Unavailable: unavailable | ||||
Array Shift Drainn=10001.19×Faster
array-queue/array-shift-drain?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 75.6 ms | 33.4 ms | 68.3 ms | 8 | 1 |
| Compiled | 38.7 µs | 26.7 µs | 11 µs | 243 | 32 |
| Node.js | 46.2 µs | 43.1 µs | 2.5 µs | 203 | 32 |
| Bun | Unavailable: unavailable | ||||
Array Shift Drainn=100000.01×Behind
array-queue/array-shift-drain?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 3.9 s | 3.9 s | 0 ns | 1 | 1 |
| Compiled | 79.5 ms | 77.8 ms | 3.87 ms | 8 | 1 |
| Node.js | 493 µs | 450 µs | 36.4 µs | 153 | 4 |
| Bun | Unavailable: unavailable | ||||
Array Unshift Buildn=10001.35×Faster
array-queue/array-unshift-build?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 34 ms | 33.3 ms | 509 µs | 9 | 1 |
| Compiled | 39.6 µs | 34.8 µs | 7.9 µs | 237 | 32 |
| Node.js | 53.3 µs | 49.6 µs | 3 µs | 176 | 32 |
| Bun | Unavailable: unavailable | ||||
Array Unshift Buildn=100001.04×Near parity
array-queue/array-unshift-build?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 3.89 s | 3.89 s | 0 ns | 1 | 1 |
| Compiled | 4.12 ms | 3.9 ms | 186 µs | 73 | 1 |
| Node.js | 4.28 ms | 4.13 ms | 123 µs | 71 | 1 |
| Bun | Unavailable: unavailable | ||||
Async Function Callsn=104×Faster
async-promises/async-function-calls?n=10
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 21.1 µs | 11.4 µs | 8.6 µs | 445 | 32 |
| Compiled | 100 ns | 100 ns | 0 ns | 198 | 16384 |
| Node.js | 400 ns | 300 ns | 0 ns | 203 | 4096 |
| Bun | Unavailable: unavailable | ||||
Async Function Callsn=10028×Faster
async-promises/async-function-calls?n=100
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 115 µs | 103 µs | 14.4 µs | 163 | 16 |
| Compiled | 100 ns | 100 ns | 0 ns | 295 | 8192 |
| Node.js | 2.8 µs | 2.3 µs | 3.6 µs | 207 | 512 |
| Bun | Unavailable: unavailable | ||||
Async Function Callsn=100046.6×Faster
async-promises/async-function-calls?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 1.17 ms | 1.02 ms | 267 µs | 257 | 1 |
| Compiled | 500 ns | 500 ns | 0 ns | 155 | 4096 |
| Node.js | 23.3 µs | 20.8 µs | 1.9 µs | 202 | 64 |
| Bun | Unavailable: unavailable | ||||
Async Resolved Awaitn=101×Near parity
async-promises/async-resolved-await?n=10
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 68.4 µs | 40 µs | 131 µs | 1097 | 4 |
| Compiled | 400 ns | 100 ns | 300 ns | 181 | 4096 |
| Node.js | 400 ns | 300 ns | 0 ns | 195 | 4096 |
| Bun | Unavailable: unavailable | ||||
Async Resolved Awaitn=10026×Faster
async-promises/async-resolved-await?n=100
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 228 µs | 96.1 µs | 255 µs | 86 | 16 |
| Compiled | 100 ns | 100 ns | 0 ns | 304 | 8192 |
| Node.js | 2.6 µs | 2.4 µs | 200 ns | 223 | 512 |
| Bun | Unavailable: unavailable | ||||
Async Resolved Awaitn=100049.2×Faster
async-promises/async-resolved-await?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 2.52 ms | 1.01 ms | 4.89 ms | 119 | 1 |
| Compiled | 500 ns | 500 ns | 0 ns | 155 | 4096 |
| Node.js | 24.6 µs | 21.6 µs | 2.1 µs | 191 | 64 |
| Bun | Unavailable: unavailable | ||||
Promise Alln=101×Near parity
async-promises/promise-all?n=10
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 52 µs | 31.1 µs | 61.5 µs | 365 | 16 |
| Compiled | 400 ns | 300 ns | 100 ns | 386 | 2048 |
| Node.js | 400 ns | 400 ns | 0 ns | 176 | 4096 |
| Bun | Unavailable: unavailable | ||||
Promise Alln=1003.5×Faster
async-promises/promise-all?n=100
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 457 µs | 236 µs | 1.01 ms | 329 | 2 |
| Compiled | 800 ns | 700 ns | 900 ns | 175 | 2048 |
| Node.js | 2.8 µs | 2.6 µs | 300 ns | 208 | 512 |
| Bun | Unavailable: unavailable | ||||
Promise Alln=10006.29×Faster
async-promises/promise-all?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 4.38 ms | 2.32 ms | 4.11 ms | 69 | 1 |
| Compiled | 4.5 µs | 4.2 µs | 400 ns | 259 | 256 |
| Node.js | 28.3 µs | 24.6 µs | 2.2 µs | 166 | 64 |
| Bun | Unavailable: unavailable | ||||
Promise Then Chainn=100.5×Behind
async-promises/promise-then-chain?n=10
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 23.7 µs | 14.7 µs | 13.4 µs | 198 | 64 |
| Compiled | 800 ns | 400 ns | 400 ns | 389 | 1024 |
| Node.js | 400 ns | 300 ns | 0 ns | 208 | 4096 |
| Bun | Unavailable: unavailable | ||||
Promise Then Chainn=1001.04×Near parity
async-promises/promise-then-chain?n=100
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 182 µs | 125 µs | 135 µs | 206 | 8 |
| Compiled | 2.3 µs | 2.1 µs | 200 ns | 258 | 512 |
| Node.js | 2.4 µs | 2.2 µs | 200 ns | 244 | 512 |
| Bun | Unavailable: unavailable | ||||
Promise Then Chainn=10001.38×Faster
async-promises/promise-then-chain?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 1.99 ms | 1.23 ms | 2.63 ms | 151 | 1 |
| Compiled | 18.6 µs | 17.3 µs | 1.2 µs | 252 | 64 |
| Node.js | 25.6 µs | 22.6 µs | 2.2 µs | 183 | 64 |
| Bun | Unavailable: unavailable | ||||
Binary Treesn=121.21×Faster
binary-trees/binary-trees?n=12
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 16 ms | 12.9 ms | 6.58 ms | 21 | 1 |
| Compiled | 52.1 µs | 46.3 µs | 4.9 µs | 180 | 32 |
| Node.js | 63 µs | 55.2 µs | 6.4 µs | 149 | 32 |
| Bun | Unavailable: unavailable | ||||
Binary Treesn=160.91×Behind
binary-trees/binary-trees?n=16
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 265 ms | 233 ms | 24.5 ms | 8 | 1 |
| Compiled | 1.26 ms | 739 µs | 960 µs | 239 | 1 |
| Node.js | 1.15 ms | 928 µs | 180 µs | 262 | 1 |
| Bun | Unavailable: unavailable | ||||
Binary Treesn=80.93×Behind
binary-trees/binary-trees?n=8
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 1.67 ms | 643 µs | 1.38 ms | 180 | 1 |
| Compiled | 4.1 µs | 2.9 µs | 1.1 µs | 288 | 256 |
| Node.js | 3.8 µs | 3.5 µs | 200 ns | 156 | 512 |
| Bun | Unavailable: unavailable | ||||
Brainfuckn=501.21×Faster
brainfuck/brainfuck?n=50
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 97.3 ms | 50.9 ms | 77.9 ms | 8 | 1 |
| Compiled | 215 µs | 206 µs | 18.9 µs | 175 | 8 |
| Node.js | 260 µs | 233 µs | 16 µs | 145 | 8 |
| Bun | Unavailable: unavailable | ||||
Brainfuckn=5001.13×Faster
brainfuck/brainfuck?n=500
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 502 ms | 493 ms | 7.87 ms | 5 | 1 |
| Compiled | 2.05 ms | 2 ms | 77.5 µs | 147 | 1 |
| Node.js | 2.32 ms | 1.88 ms | 140 µs | 130 | 1 |
| Bun | Unavailable: unavailable | ||||
Brainfuckn=50001.13×Faster
brainfuck/brainfuck?n=5000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 4.98 s | 4.98 s | 0 ns | 1 | 1 |
| Compiled | 20.7 ms | 20.5 ms | 169 µs | 15 | 1 |
| Node.js | 23.4 ms | 22.2 ms | 465 µs | 13 | 1 |
| Bun | Unavailable: unavailable | ||||
Class Constructionn=10000.57×Behind
classes/class-construction?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 1.93 ms | 1.19 ms | 1.23 ms | 157 | 1 |
| Compiled | 700 ns | 400 ns | 700 ns | 883 | 512 |
| Node.js | 400 ns | 400 ns | 0 ns | 184 | 4096 |
| Bun | Unavailable: unavailable | ||||
Class Constructionn=100001.22×Faster
classes/class-construction?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 26.4 ms | 21.8 ms | 2.21 ms | 12 | 1 |
| Compiled | 4 µs | 3.9 µs | 100 ns | 295 | 256 |
| Node.js | 4.9 µs | 4.8 µs | 200 ns | 239 | 256 |
| Bun | Unavailable: unavailable | ||||
Class Constructionn=1000001.01×Near parity
classes/class-construction?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 418 ms | 301 ms | 79.9 ms | 6 | 1 |
| Compiled | 39.2 µs | 38.6 µs | 1.1 µs | 239 | 32 |
| Node.js | 39.6 µs | 38.6 µs | 1.3 µs | 237 | 32 |
| Bun | Unavailable: unavailable | ||||
Class Field Reusen=10000.25×Behind
classes/class-field-reuse?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 1.12 ms | 519 µs | 986 µs | 268 | 1 |
| Compiled | 1.6 µs | 500 ns | 6.5 µs | 5919 | 32 |
| Node.js | 400 ns | 400 ns | 0 ns | 164 | 4096 |
| Bun | Unavailable: unavailable | ||||
Class Field Reusen=100001.26×Faster
classes/class-field-reuse?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 6.63 ms | 5.1 ms | 1.22 ms | 46 | 1 |
| Compiled | 4.7 µs | 4.2 µs | 300 ns | 249 | 256 |
| Node.js | 5.9 µs | 5.8 µs | 100 ns | 201 | 256 |
| Bun | Unavailable: unavailable | ||||
Class Field Reusen=1000001.13×Faster
classes/class-field-reuse?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 64.4 ms | 62.9 ms | 1.83 ms | 8 | 1 |
| Compiled | 47.7 µs | 45 µs | 1.5 µs | 197 | 32 |
| Node.js | 53.7 µs | 51.8 µs | 1.5 µs | 175 | 32 |
| Bun | Unavailable: unavailable | ||||
Class Method Inheritance Basen=10000.44×Behind
classes/class-method-inheritance-base?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 878 µs | 836 µs | 47.2 µs | 171 | 2 |
| Compiled | 900 ns | 500 ns | 2.1 µs | 2658 | 128 |
| Node.js | 400 ns | 400 ns | 0 ns | 169 | 4096 |
| Bun | Unavailable: unavailable | ||||
Class Method Inheritance Basen=100001.23×Faster
classes/class-method-inheritance-base?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 10.4 ms | 8.47 ms | 1.01 ms | 29 | 1 |
| Compiled | 4.8 µs | 4.6 µs | 700 ns | 242 | 256 |
| Node.js | 5.9 µs | 5.8 µs | 200 ns | 200 | 256 |
| Bun | Unavailable: unavailable | ||||
Class Method Inheritance Basen=1000001.3×Faster
classes/class-method-inheritance-base?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 101 ms | 98.6 ms | 1.12 ms | 8 | 1 |
| Compiled | 48.2 µs | 45.2 µs | 1.3 µs | 195 | 32 |
| Node.js | 62.9 µs | 51.6 µs | 21.7 µs | 299 | 16 |
| Bun | Unavailable: unavailable | ||||
Class Method Inheritedn=10001.25×Faster
classes/class-method-inherited?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 893 µs | 778 µs | 63.3 µs | 168 | 2 |
| Compiled | 800 ns | 500 ns | 1.7 µs | 2839 | 128 |
| Node.js | 1 µs | 1 µs | 0 ns | 284 | 1024 |
| Bun | Unavailable: unavailable | ||||
Class Method Inheritedn=100002.27×Faster
classes/class-method-inherited?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 10.6 ms | 8.63 ms | 959 µs | 29 | 1 |
| Compiled | 4.8 µs | 4.6 µs | 200 ns | 246 | 256 |
| Node.js | 10.9 µs | 10.4 µs | 300 ns | 216 | 128 |
| Bun | Unavailable: unavailable | ||||
Class Method Inheritedn=1000002.36×Faster
classes/class-method-inherited?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 102 ms | 101 ms | 759 µs | 8 | 1 |
| Compiled | 48 µs | 46 µs | 1.4 µs | 196 | 32 |
| Node.js | 114 µs | 107 µs | 2.9 µs | 166 | 16 |
| Bun | Unavailable: unavailable | ||||
Class Method Overriden=10001.11×Faster
classes/class-method-override?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 900 µs | 848 µs | 54.8 µs | 167 | 2 |
| Compiled | 900 ns | 500 ns | 2.2 µs | 2482 | 128 |
| Node.js | 1 µs | 1 µs | 0 ns | 282 | 1024 |
| Bun | Unavailable: unavailable | ||||
Class Method Overriden=100002.29×Faster
classes/class-method-override?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 10.7 ms | 8.72 ms | 883 µs | 28 | 1 |
| Compiled | 4.8 µs | 4.6 µs | 200 ns | 243 | 256 |
| Node.js | 11 µs | 10.4 µs | 300 ns | 214 | 128 |
| Bun | Unavailable: unavailable | ||||
Class Method Overriden=1000002.42×Faster
classes/class-method-override?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 102 ms | 101 ms | 1.42 ms | 8 | 1 |
| Compiled | 48.2 µs | 45.6 µs | 1.1 µs | 195 | 32 |
| Node.js | 117 µs | 107 µs | 32.7 µs | 161 | 16 |
| Bun | Unavailable: unavailable | ||||
Class Method Reusen=10000.67×Behind
classes/class-method-reuse?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 913 µs | 839 µs | 56.6 µs | 165 | 2 |
| Compiled | 600 ns | 500 ns | 1.2 µs | 3694 | 128 |
| Node.js | 400 ns | 400 ns | 200 ns | 163 | 4096 |
| Bun | Unavailable: unavailable | ||||
Class Method Reusen=100001.26×Faster
classes/class-method-reuse?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 10.5 ms | 8.54 ms | 1.05 ms | 29 | 1 |
| Compiled | 4.7 µs | 4.3 µs | 200 ns | 252 | 256 |
| Node.js | 5.9 µs | 5.8 µs | 200 ns | 199 | 256 |
| Bun | Unavailable: unavailable | ||||
Class Method Reusen=1000001.5×Faster
classes/class-method-reuse?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 101 ms | 99.3 ms | 1.54 ms | 8 | 1 |
| Compiled | 48 µs | 45.5 µs | 1.5 µs | 196 | 32 |
| Node.js | 72 µs | 51.4 µs | 27.6 µs | 261 | 16 |
| Bun | Unavailable: unavailable | ||||
Class Method Supern=10001.25×Faster
classes/class-method-super?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 1.73 ms | 1.44 ms | 1.84 ms | 174 | 1 |
| Compiled | 800 ns | 500 ns | 1.8 µs | 2965 | 128 |
| Node.js | 1 µs | 1 µs | 0 ns | 286 | 1024 |
| Bun | Unavailable: unavailable | ||||
Class Method Supern=100002.33×Faster
classes/class-method-super?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 18.4 ms | 17.7 ms | 495 µs | 17 | 1 |
| Compiled | 4.6 µs | 4.1 µs | 300 ns | 254 | 256 |
| Node.js | 10.7 µs | 10.4 µs | 300 ns | 219 | 128 |
| Bun | Unavailable: unavailable | ||||
Class Method Supern=1000002.38×Faster
classes/class-method-super?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 188 ms | 181 ms | 10.6 ms | 8 | 1 |
| Compiled | 47.6 µs | 45.1 µs | 1.6 µs | 197 | 32 |
| Node.js | 113 µs | 108 µs | 2.9 µs | 166 | 16 |
| Bun | Unavailable: unavailable | ||||
Closuresn=10002.47×Faster
closures/closures?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 1.35 ms | 565 µs | 1.79 ms | 223 | 1 |
| Compiled | 3.2 µs | 1.5 µs | 2.1 µs | 365 | 256 |
| Node.js | 7.9 µs | 7.2 µs | 800 ns | 149 | 256 |
| Bun | Unavailable: unavailable | ||||
Closuresn=100004.63×Faster
closures/closures?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 5.94 ms | 5.64 ms | 213 µs | 51 | 1 |
| Compiled | 16 µs | 14.5 µs | 5.7 µs | 147 | 128 |
| Node.js | 74 µs | 69 µs | 7.2 µs | 254 | 16 |
| Bun | Unavailable: unavailable | ||||
Closuresn=1000004.9×Faster
closures/closures?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 59.5 ms | 58.6 ms | 1.27 ms | 8 | 1 |
| Compiled | 153 µs | 144 µs | 8.8 µs | 246 | 8 |
| Node.js | 747 µs | 604 µs | 708 µs | 201 | 2 |
| Bun | Unavailable: unavailable | ||||
Count Primesn=10001.19×Faster
count-primes/count-primes?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 6.05 ms | 2.71 ms | 2.07 ms | 50 | 1 |
| Compiled | 2.6 µs | 1.3 µs | 1.4 µs | 454 | 256 |
| Node.js | 3.1 µs | 2.9 µs | 200 ns | 191 | 512 |
| Bun | Unavailable: unavailable | ||||
Count Primesn=100002.67×Faster
count-primes/count-primes?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 18.1 ms | 15 ms | 3.34 ms | 17 | 1 |
| Compiled | 13.6 µs | 12.9 µs | 600 ns | 172 | 128 |
| Node.js | 36.3 µs | 34.4 µs | 2.5 µs | 259 | 32 |
| Bun | Unavailable: unavailable | ||||
Count Primesn=1000003.66×Faster
count-primes/count-primes?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 204 ms | 194 ms | 9.44 ms | 8 | 1 |
| Compiled | 243 µs | 223 µs | 20.5 µs | 155 | 8 |
| Node.js | 891 µs | 727 µs | 250 µs | 337 | 1 |
| Bun | Unavailable: unavailable | ||||
Custom Iterator Dynamic Controln=100000×Behind
custom-iterator-dynamic-control/custom-iterator-dynamic-control?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 38.7 ms | 36.3 ms | 5.05 ms | 8 | 1 |
| Compiled | 5.73 ms | 4.74 ms | 1.38 ms | 53 | 1 |
| Node.js | 28.1 µs | 25.5 µs | 3.1 µs | 167 | 64 |
| Bun | Unavailable: unavailable | ||||
Custom Iterator Dynamic Controln=1000000.02×Behind
custom-iterator-dynamic-control/custom-iterator-dynamic-control?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 106 ms | 84.1 ms | 37.7 ms | 8 | 1 |
| Compiled | 11.7 ms | 11.4 ms | 239 µs | 26 | 1 |
| Node.js | 270 µs | 243 µs | 34.3 µs | 278 | 4 |
| Bun | Unavailable: unavailable | ||||
Custom Iteratorn=100000.79×Behind
custom-iterator/custom-iterator?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 39.4 ms | 36.8 ms | 6.01 ms | 8 | 1 |
| Compiled | 35.1 µs | 33.2 µs | 3.4 µs | 267 | 32 |
| Node.js | 27.9 µs | 25.4 µs | 5.7 µs | 168 | 64 |
| Bun | Unavailable: unavailable | ||||
Custom Iteratorn=1000001.4×Faster
custom-iterator/custom-iterator?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 113 ms | 85.8 ms | 61 ms | 8 | 1 |
| Compiled | 187 µs | 179 µs | 27.7 µs | 201 | 8 |
| Node.js | 262 µs | 245 µs | 23.8 µs | 287 | 4 |
| Bun | Unavailable: unavailable | ||||
Date Numericn=1000.69×Behind
date-numeric/date-numeric?n=100
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 134 µs | 50.1 µs | 152 µs | 559 | 4 |
| Compiled | 1.6 µs | 400 ns | 1.9 µs | 182 | 1024 |
| Node.js | 1.1 µs | 1 µs | 100 ns | 257 | 1024 |
| Bun | Unavailable: unavailable | ||||
Date Numericn=100002.46×Faster
date-numeric/date-numeric?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 5.04 ms | 4.78 ms | 189 µs | 60 | 1 |
| Compiled | 43 µs | 41.9 µs | 1.3 µs | 219 | 32 |
| Node.js | 106 µs | 96.8 µs | 6.5 µs | 178 | 16 |
| Bun | Unavailable: unavailable | ||||
Date Numericn=1000002.63×Faster
date-numeric/date-numeric?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 50.1 ms | 49.1 ms | 909 µs | 8 | 1 |
| Compiled | 432 µs | 420 µs | 17.2 µs | 174 | 4 |
| Node.js | 1.14 ms | 980 µs | 164 µs | 264 | 1 |
| Bun | Unavailable: unavailable | ||||
Error Construct No Stackn=1000002.07×Faster
exceptions/error-construct-no-stack?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 29.1 ms | 26.8 ms | 4.41 ms | 11 | 1 |
| Compiled | 163 µs | 145 µs | 93.3 µs | 231 | 8 |
| Node.js | 337 µs | 312 µs | 24.7 µs | 223 | 4 |
| Bun | Unavailable: unavailable | ||||
Error First Stack Readn=1000004.3×Faster
exceptions/error-first-stack-read?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 26.9 ms | 26.3 ms | 358 µs | 12 | 1 |
| Compiled | 185 µs | 146 µs | 214 µs | 203 | 8 |
| Node.js | 796 µs | 750 µs | 45.9 µs | 189 | 2 |
| Bun | Unavailable: unavailable | ||||
Error Repeated Stack Readn=1000004.13×Faster
exceptions/error-repeated-stack-read?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 27.1 ms | 26.3 ms | 469 µs | 12 | 1 |
| Compiled | 194 µs | 147 µs | 207 µs | 194 | 8 |
| Node.js | 802 µs | 748 µs | 56.7 µs | 188 | 2 |
| Bun | Unavailable: unavailable | ||||
Throw Branch Controln=1000000.31×Behind
exceptions/throw-branch-control?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 68.3 ms | 36.8 ms | 57.1 ms | 8 | 1 |
| Compiled | 144 µs | 136 µs | 8.8 µs | 261 | 8 |
| Node.js | 43.9 µs | 39.3 µs | 7.9 µs | 214 | 32 |
| Bun | Unavailable: unavailable | ||||
Throw Errorn=1000002.14×Faster
exceptions/throw-error?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 37.7 ms | 37 ms | 860 µs | 8 | 1 |
| Compiled | 191 µs | 164 µs | 74 µs | 197 | 8 |
| Node.js | 408 µs | 348 µs | 33.6 µs | 184 | 4 |
| Bun | Unavailable: unavailable | ||||
Throw Primitiven=1000000.42×Behind
exceptions/throw-primitive?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 37.5 ms | 36.8 ms | 798 µs | 8 | 1 |
| Compiled | 163 µs | 155 µs | 13.9 µs | 230 | 8 |
| Node.js | 69.4 µs | 57.2 µs | 12 µs | 541 | 8 |
| Bun | Unavailable: unavailable | ||||
Throw Try Catch No Thrown=1000000.31×Behind
exceptions/throw-try-catch-no-throw?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 41.7 ms | 40.9 ms | 523 µs | 8 | 1 |
| Compiled | 142 µs | 136 µs | 8.7 µs | 265 | 8 |
| Node.js | 44.3 µs | 39.3 µs | 8.7 µs | 424 | 16 |
| Bun | Unavailable: unavailable | ||||
Factorialn=1000.5×Behind
factorial/factorial?n=100
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 52.6 µs | 23.7 µs | 50.3 µs | 713 | 8 |
| Compiled | 200 ns | 100 ns | 200 ns | 600 | 2048 |
| Node.js | 100 ns | 0 ns | 0 ns | 358 | 16384 |
| Bun | Unavailable: unavailable | ||||
Factorialn=10000.89×Behind
factorial/factorial?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 267 µs | 237 µs | 23.2 µs | 281 | 4 |
| Compiled | 900 ns | 800 ns | 300 ns | 169 | 2048 |
| Node.js | 800 ns | 700 ns | 0 ns | 190 | 2048 |
| Bun | Unavailable: unavailable | ||||
Factorialn=100000.99×Near parity
factorial/factorial?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 2.49 ms | 2.36 ms | 113 µs | 121 | 1 |
| Compiled | 7.9 µs | 7.8 µs | 400 ns | 296 | 128 |
| Node.js | 7.8 µs | 7.7 µs | 300 ns | 300 | 128 |
| Bun | Unavailable: unavailable | ||||
Fibonaccin=101×Near parity
fibonacci/fibonacci?n=10
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 130 µs | 53.3 µs | 129 µs | 2316 | 1 |
| Compiled | 300 ns | 200 ns | 200 ns | 420 | 2048 |
| Node.js | 300 ns | 300 ns | 0 ns | 214 | 4096 |
| Bun | Unavailable: unavailable | ||||
Fibonaccin=202.23×Faster
fibonacci/fibonacci?n=20
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 6.84 ms | 6.48 ms | 207 µs | 44 | 1 |
| Compiled | 19.3 µs | 18.7 µs | 1.2 µs | 244 | 64 |
| Node.js | 43.1 µs | 41.2 µs | 4.3 µs | 218 | 32 |
| Bun | Unavailable: unavailable | ||||
Fibonaccin=302.21×Faster
fibonacci/fibonacci?n=30
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 847 ms | 837 ms | 17.3 ms | 3 | 1 |
| Compiled | 2.35 ms | 2.29 ms | 91 µs | 128 | 1 |
| Node.js | 5.18 ms | 5.05 ms | 136 µs | 58 | 1 |
| Bun | Unavailable: unavailable | ||||
Fibonaccin=352.22×Faster
fibonacci/fibonacci?n=35
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 9.39 s | 9.39 s | 0 ns | 1 | 1 |
| Compiled | 26.1 ms | 25.7 ms | 251 µs | 12 | 1 |
| Node.js | 57.8 ms | 57.4 ms | 299 µs | 8 | 1 |
| Bun | Unavailable: unavailable | ||||
Accumulaten=10001.49×Faster
int-arrays/accumulate?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 2.87 ms | 2.2 ms | 558 µs | 105 | 1 |
| Compiled | 4.1 µs | 3.3 µs | 1.1 µs | 284 | 256 |
| Node.js | 6.1 µs | 4.6 µs | 600 ns | 191 | 256 |
| Bun | Unavailable: unavailable | ||||
Accumulaten=1000001.37×Faster
int-arrays/accumulate?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 235 ms | 230 ms | 8.97 ms | 8 | 1 |
| Compiled | 487 µs | 461 µs | 26.8 µs | 154 | 4 |
| Node.js | 667 µs | 571 µs | 236 µs | 225 | 2 |
| Bun | Unavailable: unavailable | ||||
Accumulaten=10000001.3×Faster
int-arrays/accumulate?n=1000000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 2.38 s | 2.38 s | 0 ns | 1 | 1 |
| Compiled | 3.67 ms | 3.25 ms | 335 µs | 82 | 1 |
| Node.js | 4.78 ms | 4.53 ms | 253 µs | 63 | 1 |
| Bun | Unavailable: unavailable | ||||
Int32 Kerneln=10000.94×Behind
int-arrays/int32-kernel?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 2.68 ms | 990 µs | 1.8 ms | 112 | 1 |
| Compiled | 3.3 µs | 1.9 µs | 1.4 µs | 361 | 256 |
| Node.js | 3.1 µs | 2.6 µs | 200 ns | 190 | 512 |
| Bun | Unavailable: unavailable | ||||
Int32 Kerneln=1000001.15×Faster
int-arrays/int32-kernel?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 98.7 ms | 97.5 ms | 1.4 ms | 8 | 1 |
| Compiled | 261 µs | 208 µs | 45.7 µs | 288 | 4 |
| Node.js | 301 µs | 260 µs | 90.7 µs | 250 | 4 |
| Bun | Unavailable: unavailable | ||||
Int32 Kerneln=10000001.22×Faster
int-arrays/int32-kernel?n=1000000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 988 ms | 978 ms | 14.8 ms | 3 | 1 |
| Compiled | 1.98 ms | 1.79 ms | 152 µs | 152 | 1 |
| Node.js | 2.41 ms | 2.27 ms | 185 µs | 125 | 1 |
| Bun | Unavailable: unavailable | ||||
Jsonn=1001.96×Faster
json/json?n=100
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 994 µs | 694 µs | 315 µs | 152 | 2 |
| Compiled | 12 µs | 7.2 µs | 5.6 µs | 195 | 128 |
| Node.js | 23.5 µs | 22.3 µs | 1.1 µs | 200 | 64 |
| Bun | Unavailable: unavailable | ||||
Jsonn=10002.78×Faster
json/json?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 4.19 ms | 1.84 ms | 3.64 ms | 72 | 1 |
| Compiled | 80 µs | 67.3 µs | 10.8 µs | 235 | 16 |
| Node.js | 223 µs | 205 µs | 13.8 µs | 169 | 8 |
| Bun | Unavailable: unavailable | ||||
Jsonn=100000.63×Behind
json/json?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 36.1 ms | 27.4 ms | 9.94 ms | 9 | 1 |
| Compiled | 3.92 ms | 749 µs | 2.82 ms | 39 | 2 |
| Node.js | 2.46 ms | 2.17 ms | 259 µs | 122 | 1 |
| Bun | Unavailable: unavailable | ||||
Flattened Rest Controln=10000.18×Behind
language-hot-paths/flattened-rest-control?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 335 µs | 288 µs | 397 µs | 224 | 4 |
| Compiled | 2.2 µs | 1.5 µs | 1.1 µs | 545 | 256 |
| Node.js | 400 ns | 400 ns | 0 ns | 182 | 4096 |
| Bun | Unavailable: unavailable | ||||
Flattened Rest Controln=100000.38×Behind
language-hot-paths/flattened-rest-control?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 3.09 ms | 2.84 ms | 125 µs | 98 | 1 |
| Compiled | 15.7 µs | 15.4 µs | 500 ns | 150 | 128 |
| Node.js | 5.9 µs | 5.8 µs | 200 ns | 199 | 256 |
| Bun | Unavailable: unavailable | ||||
Flattened Rest Controln=1000001.02×Near parity
language-hot-paths/flattened-rest-control?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 30.9 ms | 30.4 ms | 303 µs | 10 | 1 |
| Compiled | 158 µs | 154 µs | 8.3 µs | 238 | 8 |
| Node.js | 161 µs | 154 µs | 9.9 µs | 234 | 8 |
| Bun | Unavailable: unavailable | ||||
Format Fixedn=10000.78×Behind
language-hot-paths/format-fixed?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 766 µs | 682 µs | 63.5 µs | 196 | 2 |
| Compiled | 103 µs | 39.3 µs | 81.4 µs | 365 | 8 |
| Node.js | 80.5 µs | 75.7 µs | 3.9 µs | 234 | 16 |
| Bun | Unavailable: unavailable | ||||
Format Fixedn=100001.91×Faster
language-hot-paths/format-fixed?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 7.33 ms | 6.9 ms | 184 µs | 41 | 1 |
| Compiled | 428 µs | 401 µs | 23.6 µs | 176 | 4 |
| Node.js | 816 µs | 778 µs | 36.5 µs | 184 | 2 |
| Bun | Unavailable: unavailable | ||||
Format Fixedn=1000001.99×Faster
language-hot-paths/format-fixed?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 74.9 ms | 73.4 ms | 1.13 ms | 8 | 1 |
| Compiled | 4.33 ms | 4.12 ms | 163 µs | 70 | 1 |
| Node.js | 8.62 ms | 8.27 ms | 184 µs | 35 | 1 |
| Bun | Unavailable: unavailable | ||||
Generator Rangen=10002.77×Faster
language-hot-paths/generator-range?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 1.36 ms | 1.21 ms | 99.5 µs | 222 | 1 |
| Compiled | 3.1 µs | 1.9 µs | 4.7 µs | 1522 | 64 |
| Node.js | 8.6 µs | 8 µs | 500 ns | 272 | 128 |
| Bun | Unavailable: unavailable | ||||
Generator Rangen=100004.24×Faster
language-hot-paths/generator-range?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 11.7 ms | 10.8 ms | 459 µs | 26 | 1 |
| Compiled | 18.9 µs | 18.4 µs | 1.1 µs | 249 | 64 |
| Node.js | 80.1 µs | 75.2 µs | 4.2 µs | 235 | 16 |
| Bun | Unavailable: unavailable | ||||
Generator Rangen=1000004.47×Faster
language-hot-paths/generator-range?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 121 ms | 115 ms | 8.12 ms | 8 | 1 |
| Compiled | 189 µs | 183 µs | 23.2 µs | 199 | 8 |
| Node.js | 846 µs | 763 µs | 48.7 µs | 178 | 2 |
| Bun | Unavailable: unavailable | ||||
Numeric Assignment Controln=10000.6×Behind
language-hot-paths/numeric-assignment-control?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 243 µs | 227 µs | 14 µs | 155 | 8 |
| Compiled | 500 ns | 400 ns | 600 ns | 1098 | 512 |
| Node.js | 300 ns | 300 ns | 0 ns | 211 | 4096 |
| Bun | Unavailable: unavailable | ||||
Numeric Assignment Controln=100001.22×Faster
language-hot-paths/numeric-assignment-control?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 2.39 ms | 2.25 ms | 105 µs | 126 | 1 |
| Compiled | 4 µs | 3.9 µs | 200 ns | 296 | 256 |
| Node.js | 4.9 µs | 4.8 µs | 200 ns | 238 | 256 |
| Bun | Unavailable: unavailable | ||||
Numeric Assignment Controln=1000001.04×Near parity
language-hot-paths/numeric-assignment-control?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 24.1 ms | 23.7 ms | 632 µs | 13 | 1 |
| Compiled | 39.4 µs | 38.6 µs | 1.6 µs | 239 | 32 |
| Node.js | 41 µs | 38.7 µs | 9.7 µs | 229 | 32 |
| Bun | Unavailable: unavailable | ||||
Numeric Compoundn=10000.33×Behind
language-hot-paths/numeric-compound?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 738 µs | 313 µs | 632 µs | 407 | 1 |
| Compiled | 900 ns | 400 ns | 1.1 µs | 672 | 512 |
| Node.js | 300 ns | 300 ns | 0 ns | 221 | 4096 |
| Bun | Unavailable: unavailable | ||||
Numeric Compoundn=100001.28×Faster
language-hot-paths/numeric-compound?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 3.29 ms | 3.16 ms | 70.1 µs | 92 | 1 |
| Compiled | 3.9 µs | 3.9 µs | 200 ns | 297 | 256 |
| Node.js | 5 µs | 4.8 µs | 200 ns | 236 | 256 |
| Bun | Unavailable: unavailable | ||||
Numeric Compoundn=1000000.97×Near parity
language-hot-paths/numeric-compound?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 32.4 ms | 31.6 ms | 360 µs | 10 | 1 |
| Compiled | 41.4 µs | 38.5 µs | 30.7 µs | 229 | 32 |
| Node.js | 40 µs | 38.6 µs | 1.8 µs | 235 | 32 |
| Bun | Unavailable: unavailable | ||||
Parse Integersn=10007.5×Faster
language-hot-paths/parse-integers?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 680 µs | 576 µs | 140 µs | 221 | 2 |
| Compiled | 600 ns | 400 ns | 700 ns | 961 | 512 |
| Node.js | 4.5 µs | 4.4 µs | 300 ns | 260 | 256 |
| Bun | Unavailable: unavailable | ||||
Parse Integersn=1000011.6×Faster
language-hot-paths/parse-integers?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 6.32 ms | 5.85 ms | 183 µs | 48 | 1 |
| Compiled | 3.9 µs | 3.9 µs | 100 ns | 149 | 512 |
| Node.js | 45.3 µs | 43.6 µs | 2.5 µs | 207 | 32 |
| Bun | Unavailable: unavailable | ||||
Parse Integersn=10000030.4×Faster
language-hot-paths/parse-integers?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 63.2 ms | 62.2 ms | 626 µs | 8 | 1 |
| Compiled | 39.3 µs | 38.6 µs | 1.5 µs | 239 | 32 |
| Node.js | 1.2 ms | 1.07 ms | 155 µs | 251 | 1 |
| Bun | Unavailable: unavailable | ||||
Stable Numeric Restn=10000.44×Behind
language-hot-paths/stable-numeric-rest?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 881 µs | 830 µs | 49.3 µs | 171 | 2 |
| Compiled | 900 ns | 600 ns | 900 ns | 665 | 512 |
| Node.js | 400 ns | 400 ns | 0 ns | 183 | 4096 |
| Bun | Unavailable: unavailable | ||||
Stable Numeric Restn=100001.07×Faster
language-hot-paths/stable-numeric-rest?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 8.77 ms | 8.44 ms | 227 µs | 35 | 1 |
| Compiled | 5.5 µs | 5.4 µs | 200 ns | 212 | 256 |
| Node.js | 5.9 µs | 5.8 µs | 200 ns | 199 | 256 |
| Bun | Unavailable: unavailable | ||||
Stable Numeric Restn=1000000.91×Behind
language-hot-paths/stable-numeric-rest?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 87.6 ms | 87.1 ms | 684 µs | 8 | 1 |
| Compiled | 55.1 µs | 53.9 µs | 2.1 µs | 171 | 32 |
| Node.js | 50.3 µs | 48.3 µs | 2.1 µs | 187 | 32 |
| Bun | Unavailable: unavailable | ||||
Map Iterationn=1002.43×Faster
map-set/map-iteration?n=100
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 106 µs | 65.2 µs | 89.7 µs | 1421 | 2 |
| Compiled | 700 ns | 400 ns | 500 ns | 846 | 512 |
| Node.js | 1.7 µs | 1.6 µs | 100 ns | 173 | 1024 |
| Bun | Unavailable: unavailable | ||||
Map Iterationn=10003.85×Faster
map-set/map-iteration?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 715 µs | 636 µs | 109 µs | 210 | 2 |
| Compiled | 4.1 µs | 3.8 µs | 200 ns | 144 | 512 |
| Node.js | 15.8 µs | 13.3 µs | 14.2 µs | 149 | 128 |
| Bun | Unavailable: unavailable | ||||
Map Iterationn=100004.39×Faster
map-set/map-iteration?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 11 ms | 8.22 ms | 4.14 ms | 28 | 1 |
| Compiled | 99.1 µs | 86.8 µs | 13.3 µs | 190 | 16 |
| Node.js | 435 µs | 374 µs | 78.3 µs | 173 | 4 |
| Bun | Unavailable: unavailable | ||||
Map Operationsn=1000.58×Behind
map-set/map-operations?n=100
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 945 µs | 699 µs | 754 µs | 159 | 2 |
| Compiled | 3.3 µs | 1.4 µs | 3.6 µs | 702 | 128 |
| Node.js | 1.9 µs | 1.8 µs | 100 ns | 155 | 1024 |
| Bun | Unavailable: unavailable | ||||
Map Operationsn=10001.23×Faster
map-set/map-operations?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 1.45 ms | 1.3 ms | 186 µs | 207 | 1 |
| Compiled | 14.6 µs | 13.6 µs | 1.1 µs | 161 | 128 |
| Node.js | 17.9 µs | 15.9 µs | 2 µs | 263 | 64 |
| Bun | Unavailable: unavailable | ||||
Map Operationsn=100001.87×Faster
map-set/map-operations?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 16.9 ms | 15.5 ms | 635 µs | 18 | 1 |
| Compiled | 303 µs | 158 µs | 111 µs | 125 | 8 |
| Node.js | 566 µs | 458 µs | 784 µs | 530 | 1 |
| Bun | Unavailable: unavailable | ||||
Set Iterationn=1000.46×Behind
map-set/set-iteration?n=100
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 62.6 µs | 55.2 µs | 6.5 µs | 150 | 32 |
| Compiled | 2.6 µs | 1.8 µs | 1.3 µs | 449 | 256 |
| Node.js | 1.2 µs | 1.2 µs | 100 ns | 236 | 1024 |
| Bun | Unavailable: unavailable | ||||
Set Iterationn=10000.56×Behind
map-set/set-iteration?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 575 µs | 511 µs | 91.2 µs | 261 | 2 |
| Compiled | 19.4 µs | 16.4 µs | 21.3 µs | 242 | 64 |
| Node.js | 10.8 µs | 9.6 µs | 900 ns | 217 | 128 |
| Bun | Unavailable: unavailable | ||||
Set Iterationn=100001.09×Faster
map-set/set-iteration?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 8.62 ms | 5.9 ms | 4.02 ms | 35 | 1 |
| Compiled | 314 µs | 189 µs | 84.5 µs | 239 | 4 |
| Node.js | 343 µs | 296 µs | 83 µs | 219 | 4 |
| Bun | Unavailable: unavailable | ||||
Set Operationsn=1000.59×Behind
map-set/set-operations?n=100
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 121 µs | 111 µs | 10.2 µs | 155 | 16 |
| Compiled | 2.9 µs | 1.7 µs | 2.1 µs | 399 | 256 |
| Node.js | 1.7 µs | 1.6 µs | 100 ns | 178 | 1024 |
| Bun | Unavailable: unavailable | ||||
Set Operationsn=10000.9×Behind
map-set/set-operations?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 1.17 ms | 1.06 ms | 162 µs | 258 | 1 |
| Compiled | 19.7 µs | 17.1 µs | 2 µs | 238 | 64 |
| Node.js | 17.7 µs | 15.2 µs | 2 µs | 265 | 64 |
| Bun | Unavailable: unavailable | ||||
Set Operationsn=100001.13×Faster
map-set/set-operations?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 14 ms | 11.5 ms | 4.33 ms | 22 | 1 |
| Compiled | 425 µs | 222 µs | 478 µs | 706 | 1 |
| Node.js | 482 µs | 432 µs | 79.1 µs | 156 | 4 |
| Bun | Unavailable: unavailable | ||||
Math Max Onen=100Unavailable
math-min-max/math-max-one?n=100
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 35.3 µs | 32.3 µs | 2.8 µs | 266 | 32 |
| Compiled | 100 ns | 100 ns | 100 ns | 423 | 8192 |
| Node.js | 0 ns | 0 ns | 0 ns | 206 | 32768 |
| Bun | Unavailable: unavailable | ||||
Math Max Onen=100001.26×Faster
math-min-max/math-max-one?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 3.28 ms | 3.12 ms | 149 µs | 92 | 1 |
| Compiled | 3.9 µs | 3.9 µs | 100 ns | 149 | 512 |
| Node.js | 4.9 µs | 4.8 µs | 100 ns | 239 | 256 |
| Bun | Unavailable: unavailable | ||||
Math Max Onen=1000001.25×Faster
math-min-max/math-max-one?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 33 ms | 32.4 ms | 512 µs | 10 | 1 |
| Compiled | 39.2 µs | 38.6 µs | 1.2 µs | 240 | 32 |
| Node.js | 49 µs | 48.2 µs | 1.6 µs | 192 | 32 |
| Bun | Unavailable: unavailable | ||||
Math Max Severaln=100Unavailable
math-min-max/math-max-several?n=100
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 44 µs | 40.7 µs | 2.6 µs | 213 | 32 |
| Compiled | 400 ns | 300 ns | 200 ns | 406 | 2048 |
| Node.js | 0 ns | 0 ns | 0 ns | 210 | 32768 |
| Bun | Unavailable: unavailable | ||||
Math Max Severaln=100000.2×Behind
math-min-max/math-max-several?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 4.08 ms | 3.9 ms | 114 µs | 74 | 1 |
| Compiled | 24.9 µs | 24.4 µs | 800 ns | 189 | 64 |
| Node.js | 4.9 µs | 4.8 µs | 200 ns | 238 | 256 |
| Bun | Unavailable: unavailable | ||||
Math Max Severaln=1000000.2×Behind
math-min-max/math-max-several?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 41.1 ms | 40.4 ms | 733 µs | 8 | 1 |
| Compiled | 248 µs | 244 µs | 9 µs | 303 | 4 |
| Node.js | 49.1 µs | 48.2 µs | 1.5 µs | 192 | 32 |
| Bun | Unavailable: unavailable | ||||
Math Max Spreadn=1000.23×Behind
math-min-max/math-max-spread?n=100
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 51.3 µs | 46.3 µs | 4.4 µs | 183 | 32 |
| Compiled | 6.2 µs | 4.1 µs | 3.4 µs | 377 | 128 |
| Node.js | 1.4 µs | 1.4 µs | 100 ns | 205 | 1024 |
| Bun | Unavailable: unavailable | ||||
Math Max Spreadn=100000.32×Behind
math-min-max/math-max-spread?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 4.76 ms | 4.51 ms | 203 µs | 63 | 1 |
| Compiled | 451 µs | 417 µs | 22.1 µs | 167 | 4 |
| Node.js | 145 µs | 135 µs | 8.3 µs | 260 | 8 |
| Bun | Unavailable: unavailable | ||||
Math Max Spreadn=1000000.33×Behind
math-min-max/math-max-spread?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 51.2 ms | 47.3 ms | 9.54 ms | 8 | 1 |
| Compiled | 4.5 ms | 4.27 ms | 212 µs | 67 | 1 |
| Node.js | 1.46 ms | 1.35 ms | 71.1 µs | 206 | 1 |
| Bun | Unavailable: unavailable | ||||
Math Min Dynamicn=100Unavailable
math-min-max/math-min-dynamic?n=100
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 37.9 µs | 35.8 µs | 2.8 µs | 248 | 32 |
| Compiled | 1.5 µs | 900 ns | 1.9 µs | 1530 | 128 |
| Node.js | 0 ns | 0 ns | 0 ns | 210 | 32768 |
| Bun | Unavailable: unavailable | ||||
Math Min Dynamicn=100000.05×Behind
math-min-max/math-min-dynamic?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 3.65 ms | 3.46 ms | 158 µs | 83 | 1 |
| Compiled | 97.1 µs | 90.1 µs | 5.3 µs | 194 | 16 |
| Node.js | 4.9 µs | 4.8 µs | 200 ns | 239 | 256 |
| Bun | Unavailable: unavailable | ||||
Math Min Dynamicn=1000000.05×Behind
math-min-max/math-min-dynamic?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 36.5 ms | 35.8 ms | 472 µs | 9 | 1 |
| Compiled | 977 µs | 895 µs | 47.5 µs | 154 | 2 |
| Node.js | 51.3 µs | 48.2 µs | 14.7 µs | 183 | 32 |
| Bun | Unavailable: unavailable | ||||
Math Min Twon=1000.33×Behind
math-min-max/math-min-two?n=100
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 42.4 µs | 40.3 µs | 2.6 µs | 221 | 32 |
| Compiled | 300 ns | 200 ns | 100 ns | 271 | 4096 |
| Node.js | 100 ns | 100 ns | 0 ns | 296 | 8192 |
| Bun | Unavailable: unavailable | ||||
Math Min Twon=100000.75×Behind
math-min-max/math-min-two?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 4.16 ms | 3.96 ms | 125 µs | 73 | 1 |
| Compiled | 20.3 µs | 19.1 µs | 7.6 µs | 231 | 64 |
| Node.js | 15.2 µs | 14.9 µs | 500 ns | 154 | 128 |
| Bun | Unavailable: unavailable | ||||
Math Min Twon=1000000.78×Behind
math-min-max/math-min-two?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 41.4 ms | 41 ms | 287 µs | 8 | 1 |
| Compiled | 196 µs | 191 µs | 7.8 µs | 192 | 8 |
| Node.js | 152 µs | 149 µs | 5.3 µs | 247 | 8 |
| Bun | Unavailable: unavailable | ||||
Math Min Zeron=100Unavailable
math-min-max/math-min-zero?n=100
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 72.9 µs | 27.9 µs | 90.8 µs | 515 | 8 |
| Compiled | 100 ns | 100 ns | 100 ns | 639 | 4096 |
| Node.js | 0 ns | 0 ns | 0 ns | 280 | 32768 |
| Bun | Unavailable: unavailable | ||||
Math Min Zeron=100001.11×Faster
math-min-max/math-min-zero?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 2.76 ms | 2.61 ms | 137 µs | 109 | 1 |
| Compiled | 3.5 µs | 3 µs | 200 ns | 169 | 512 |
| Node.js | 3.9 µs | 3.9 µs | 200 ns | 297 | 256 |
| Bun | Unavailable: unavailable | ||||
Math Min Zeron=1000001.18×Faster
math-min-max/math-min-zero?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 27.2 ms | 26.9 ms | 333 µs | 12 | 1 |
| Compiled | 33.1 µs | 29.4 µs | 2.9 µs | 284 | 32 |
| Node.js | 39.2 µs | 38.5 µs | 1.3 µs | 239 | 32 |
| Bun | Unavailable: unavailable | ||||
Num Pushn=10000.57×Behind
num-arrays/num-push?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 1.16 ms | 728 µs | 775 µs | 258 | 1 |
| Compiled | 4.6 µs | 3 µs | 4.6 µs | 1009 | 64 |
| Node.js | 2.6 µs | 2.2 µs | 200 ns | 230 | 512 |
| Bun | Unavailable: unavailable | ||||
Num Pushn=1000000.96×Near parity
num-arrays/num-push?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 95.1 ms | 90.5 ms | 11 ms | 8 | 1 |
| Compiled | 757 µs | 709 µs | 48 µs | 199 | 2 |
| Node.js | 730 µs | 586 µs | 162 µs | 206 | 2 |
| Bun | Unavailable: unavailable | ||||
Num Pushn=10000001.93×Faster
num-arrays/num-push?n=1000000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 943 ms | 936 ms | 6.36 ms | 3 | 1 |
| Compiled | 5.05 ms | 3.69 ms | 1.37 ms | 60 | 1 |
| Node.js | 9.77 ms | 8.2 ms | 1.74 ms | 31 | 1 |
| Bun | Unavailable: unavailable | ||||
Num Writen=10000.1×Behind
num-arrays/num-write?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 2.64 ms | 744 µs | 1.29 ms | 114 | 1 |
| Compiled | 26.6 µs | 23.6 µs | 4.7 µs | 176 | 64 |
| Node.js | 2.6 µs | 2.4 µs | 200 ns | 223 | 512 |
| Bun | Unavailable: unavailable | ||||
Num Writen=1000000.92×Behind
num-arrays/num-write?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 80.4 ms | 73.4 ms | 11.9 ms | 8 | 1 |
| Compiled | 805 µs | 747 µs | 55.3 µs | 187 | 2 |
| Node.js | 738 µs | 594 µs | 166 µs | 204 | 2 |
| Bun | Unavailable: unavailable | ||||
Num Writen=10000001.76×Faster
num-arrays/num-write?n=1000000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 818 ms | 780 ms | 49.4 ms | 3 | 1 |
| Compiled | 5.41 ms | 4.28 ms | 1.43 ms | 56 | 1 |
| Node.js | 9.54 ms | 8.33 ms | 1.55 ms | 32 | 1 |
| Bun | Unavailable: unavailable | ||||
Object Destructuren=100000.04×Behind
object-destructure/object-destructure?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 22 ms | 9.92 ms | 5.9 ms | 14 | 1 |
| Compiled | 82.9 µs | 42.4 µs | 123 µs | 905 | 4 |
| Node.js | 3.1 µs | 2.9 µs | 100 ns | 187 | 512 |
| Bun | Unavailable: unavailable | ||||
Object Destructuren=1000000.11×Behind
object-destructure/object-destructure?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 50.6 ms | 50.1 ms | 516 µs | 8 | 1 |
| Compiled | 455 µs | 425 µs | 14.6 µs | 166 | 4 |
| Node.js | 48.9 µs | 48.2 µs | 1.3 µs | 192 | 32 |
| Bun | Unavailable: unavailable | ||||
Object Keys Accessorn=100000.86×Behind
object-keys/object-keys-accessor?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 7.02 ms | 6.61 ms | 287 µs | 43 | 1 |
| Compiled | 798 µs | 754 µs | 41.4 µs | 189 | 2 |
| Node.js | 684 µs | 642 µs | 31.4 µs | 220 | 2 |
| Bun | Unavailable: unavailable | ||||
Object Keys Accessorn=1000001.05×Near parity
object-keys/object-keys-accessor?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 95.7 ms | 92.8 ms | 2.23 ms | 8 | 1 |
| Compiled | 6.51 ms | 6.24 ms | 165 µs | 47 | 1 |
| Node.js | 6.81 ms | 6.59 ms | 147 µs | 45 | 1 |
| Bun | Unavailable: unavailable | ||||
Object Keys Exactn=100000.04×Behind
object-keys/object-keys-exact?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 38.1 ms | 24.3 ms | 6.25 ms | 8 | 1 |
| Compiled | 1.55 ms | 373 µs | 426 µs | 194 | 1 |
| Node.js | 58.4 µs | 55.5 µs | 3.1 µs | 161 | 32 |
| Bun | Unavailable: unavailable | ||||
Object Keys Exactn=1000000.14×Behind
object-keys/object-keys-exact?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 70.4 ms | 69.2 ms | 714 µs | 8 | 1 |
| Compiled | 3.43 ms | 3.23 ms | 119 µs | 88 | 1 |
| Node.js | 494 µs | 462 µs | 32 µs | 304 | 2 |
| Bun | Unavailable: unavailable | ||||
Object Keys Mutatedn=100000.13×Behind
object-keys/object-keys-mutated?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 7.79 ms | 6.82 ms | 3.63 ms | 39 | 1 |
| Compiled | 343 µs | 277 µs | 54.4 µs | 219 | 4 |
| Node.js | 46.2 µs | 43.4 µs | 2.9 µs | 203 | 32 |
| Bun | Unavailable: unavailable | ||||
Object Keys Mutatedn=1000000.14×Behind
object-keys/object-keys-mutated?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 98.3 ms | 95.5 ms | 2.24 ms | 8 | 1 |
| Compiled | 3.24 ms | 2.73 ms | 2.75 ms | 93 | 1 |
| Node.js | 457 µs | 434 µs | 21 µs | 165 | 4 |
| Bun | Unavailable: unavailable | ||||
Object Keys Numericn=100000.98×Near parity
object-keys/object-keys-numeric?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 19.1 ms | 14.4 ms | 4.99 ms | 16 | 1 |
| Compiled | 1.78 ms | 1.29 ms | 684 µs | 169 | 1 |
| Node.js | 1.75 ms | 1.65 ms | 98.4 µs | 172 | 1 |
| Bun | Unavailable: unavailable | ||||
Object Keys Numericn=1000001.27×Faster
object-keys/object-keys-numeric?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 272 ms | 180 ms | 76.6 ms | 8 | 1 |
| Compiled | 13.8 ms | 13.4 ms | 263 µs | 22 | 1 |
| Node.js | 17.5 ms | 17.2 ms | 284 µs | 18 | 1 |
| Bun | Unavailable: unavailable | ||||
Object Keys Proxyn=100000.26×Behind
object-keys/object-keys-proxy?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 39.1 ms | 29.7 ms | 8.06 ms | 8 | 1 |
| Compiled | 32.2 ms | 31.7 ms | 374 µs | 10 | 1 |
| Node.js | 8.29 ms | 8 ms | 176 µs | 37 | 1 |
| Bun | Unavailable: unavailable | ||||
Object Keys Proxyn=1000000.52×Behind
object-keys/object-keys-proxy?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 449 ms | 441 ms | 11.2 ms | 5 | 1 |
| Compiled | 157 ms | 142 ms | 40.7 ms | 8 | 1 |
| Node.js | 82.4 ms | 81.9 ms | 315 µs | 8 | 1 |
| Bun | Unavailable: unavailable | ||||
Object Spread Escapen=100000.01×Behind
object-spread/object-spread-escape?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 17.8 ms | 16.5 ms | 2.11 ms | 17 | 1 |
| Compiled | 15.2 ms | 5.9 ms | 10.6 ms | 20 | 1 |
| Node.js | 93 µs | 85 µs | 6.7 µs | 202 | 16 |
| Bun | Unavailable: unavailable | ||||
Object Spread Escapen=1000000.01×Behind
object-spread/object-spread-escape?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 168 ms | 168 ms | 555 µs | 8 | 1 |
| Compiled | 123 ms | 84.6 ms | 21.8 ms | 8 | 1 |
| Node.js | 935 µs | 892 µs | 45.2 µs | 161 | 2 |
| Bun | Unavailable: unavailable | ||||
Object Spread Onen=1000010.5×Faster
object-spread/object-spread-one?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 47.5 ms | 19.8 ms | 19.7 ms | 8 | 1 |
| Compiled | 9.8 µs | 7.7 µs | 3.1 µs | 240 | 128 |
| Node.js | 103 µs | 94.7 µs | 7.1 µs | 182 | 16 |
| Bun | Unavailable: unavailable | ||||
Object Spread Onen=10000011.3×Faster
object-spread/object-spread-one?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 92.8 ms | 89.5 ms | 8.33 ms | 8 | 1 |
| Compiled | 78.5 µs | 77.1 µs | 3.1 µs | 239 | 16 |
| Node.js | 884 µs | 838 µs | 47.4 µs | 170 | 2 |
| Bun | Unavailable: unavailable | ||||
Object Spread Overwriten=1000020.8×Faster
object-spread/object-spread-overwrite?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 16.1 ms | 14.8 ms | 2.2 ms | 19 | 1 |
| Compiled | 17 µs | 15.4 µs | 1.9 µs | 276 | 64 |
| Node.js | 354 µs | 326 µs | 20.5 µs | 213 | 4 |
| Bun | Unavailable: unavailable | ||||
Object Spread Overwriten=10000022.5×Faster
object-spread/object-spread-overwrite?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 153 ms | 151 ms | 1.44 ms | 8 | 1 |
| Compiled | 157 µs | 154 µs | 6 µs | 239 | 8 |
| Node.js | 3.53 ms | 3.37 ms | 185 µs | 85 | 1 |
| Bun | Unavailable: unavailable | ||||
Objectsn=10000.35×Behind
objects/objects?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 1.88 ms | 516 µs | 908 µs | 160 | 1 |
| Compiled | 1.7 µs | 800 ns | 1.4 µs | 349 | 512 |
| Node.js | 600 ns | 600 ns | 0 ns | 243 | 2048 |
| Bun | Unavailable: unavailable | ||||
Objectsn=100001×Near parity
objects/objects?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 5.16 ms | 4.85 ms | 165 µs | 59 | 1 |
| Compiled | 8 µs | 7.8 µs | 300 ns | 147 | 256 |
| Node.js | 8 µs | 7.7 µs | 400 ns | 148 | 256 |
| Bun | Unavailable: unavailable | ||||
Objectsn=1000001.08×Faster
objects/objects?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 51.4 ms | 50.8 ms | 584 µs | 8 | 1 |
| Compiled | 79.3 µs | 77.1 µs | 3.6 µs | 237 | 16 |
| Node.js | 85.4 µs | 77.1 µs | 92.2 µs | 220 | 16 |
| Bun | Unavailable: unavailable | ||||
Regex Replacen=1000.61×Behind
regex-replace/regex-replace?n=100
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 899 µs | 454 µs | 957 µs | 167 | 2 |
| Compiled | 17.6 µs | 8.5 µs | 12.8 µs | 266 | 64 |
| Node.js | 10.8 µs | 10 µs | 700 ns | 218 | 128 |
| Bun | Unavailable: unavailable | ||||
Regex Replacen=100001.2×Faster
regex-replace/regex-replace?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 27.9 ms | 21.9 ms | 3.19 ms | 11 | 1 |
| Compiled | 894 µs | 841 µs | 50.6 µs | 168 | 2 |
| Node.js | 1.07 ms | 1 ms | 75.7 µs | 280 | 1 |
| Bun | Unavailable: unavailable | ||||
Regex Replacen=1000001.19×Faster
regex-replace/regex-replace?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 415 ms | 346 ms | 70.7 ms | 5 | 1 |
| Compiled | 8.87 ms | 8.56 ms | 173 µs | 34 | 1 |
| Node.js | 10.5 ms | 10.1 ms | 335 µs | 29 | 1 |
| Bun | Unavailable: unavailable | ||||
Regex Validatorn=1000.34×Behind
regex-validator/regex-validator?n=100
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 481 µs | 164 µs | 362 µs | 312 | 2 |
| Compiled | 4.4 µs | 2.5 µs | 2.5 µs | 269 | 256 |
| Node.js | 1.5 µs | 1.4 µs | 100 ns | 194 | 1024 |
| Bun | Unavailable: unavailable | ||||
Regex Validatorn=100000.6×Behind
regex-validator/regex-validator?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 23.8 ms | 16.1 ms | 7.34 ms | 13 | 1 |
| Compiled | 258 µs | 242 µs | 17 µs | 291 | 4 |
| Node.js | 155 µs | 141 µs | 7.4 µs | 242 | 8 |
| Bun | Unavailable: unavailable | ||||
Regex Validatorn=1000000.6×Behind
regex-validator/regex-validator?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 364 ms | 214 ms | 98.6 ms | 6 | 1 |
| Compiled | 2.57 ms | 2.44 ms | 103 µs | 117 | 1 |
| Node.js | 1.54 ms | 1.45 ms | 74.5 µs | 195 | 1 |
| Bun | Unavailable: unavailable | ||||
Regexn=1000.18×Behind
regex/regex?n=100
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 104 µs | 39.5 µs | 108 µs | 722 | 4 |
| Compiled | 98.8 µs | 49.7 µs | 113 µs | 3037 | 1 |
| Node.js | 18.1 µs | 16.5 µs | 1.1 µs | 259 | 64 |
| Bun | Unavailable: unavailable | ||||
Regexn=10000.58×Behind
regex/regex?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 310 µs | 270 µs | 32.6 µs | 242 | 4 |
| Compiled | 340 µs | 267 µs | 53.1 µs | 221 | 4 |
| Node.js | 197 µs | 177 µs | 18.2 µs | 191 | 8 |
| Bun | Unavailable: unavailable | ||||
Regexn=100000.92×Behind
regex/regex?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 3.21 ms | 2.65 ms | 1.67 ms | 94 | 1 |
| Compiled | 2.81 ms | 2.54 ms | 247 µs | 107 | 1 |
| Node.js | 2.57 ms | 1.88 ms | 785 µs | 117 | 1 |
| Bun | Unavailable: unavailable | ||||
Sortn=1000.16×Behind
sort/sort?n=100
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 298 µs | 83 µs | 168 µs | 252 | 4 |
| Compiled | 56.8 µs | 52 µs | 10 µs | 166 | 32 |
| Node.js | 9.2 µs | 8.6 µs | 700 ns | 254 | 128 |
| Bun | Unavailable: unavailable | ||||
Sortn=10000.96×Near parity
sort/sort?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 707 µs | 566 µs | 83.5 µs | 213 | 2 |
| Compiled | 246 µs | 155 µs | 160 µs | 305 | 4 |
| Node.js | 237 µs | 205 µs | 122 µs | 159 | 8 |
| Bun | Unavailable: unavailable | ||||
Sortn=100001.29×Faster
sort/sort?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 15.3 ms | 9.66 ms | 5.49 ms | 20 | 1 |
| Compiled | 2.32 ms | 2.09 ms | 399 µs | 130 | 1 |
| Node.js | 3 ms | 2.82 ms | 126 µs | 101 | 1 |
| Bun | Unavailable: unavailable | ||||
String Includesn=1001.13×Faster
string-intrinsics/string-includes?n=100
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 67.9 µs | 62.1 µs | 5.4 µs | 276 | 16 |
| Compiled | 1.5 µs | 1.2 µs | 300 ns | 389 | 512 |
| Node.js | 1.7 µs | 1.6 µs | 100 ns | 355 | 512 |
| Bun | Unavailable: unavailable | ||||
String Includesn=100001.27×Faster
string-intrinsics/string-includes?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 6.45 ms | 6.2 ms | 162 µs | 47 | 1 |
| Compiled | 127 µs | 117 µs | 5.1 µs | 149 | 16 |
| Node.js | 161 µs | 157 µs | 5.7 µs | 234 | 8 |
| Bun | Unavailable: unavailable | ||||
String Includesn=1000001.27×Faster
string-intrinsics/string-includes?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 64.7 ms | 64 ms | 490 µs | 8 | 1 |
| Compiled | 1.28 ms | 1.19 ms | 74.3 µs | 236 | 1 |
| Node.js | 1.62 ms | 1.58 ms | 80.6 µs | 186 | 1 |
| Bun | Unavailable: unavailable | ||||
String Indexofn=1000.74×Behind
string-intrinsics/string-indexof?n=100
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 205 µs | 64 µs | 191 µs | 366 | 4 |
| Compiled | 2.3 µs | 1.2 µs | 2.2 µs | 499 | 256 |
| Node.js | 1.7 µs | 1.6 µs | 100 ns | 177 | 1024 |
| Bun | Unavailable: unavailable | ||||
String Indexofn=100001.29×Faster
string-intrinsics/string-indexof?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 6.47 ms | 6.22 ms | 207 µs | 47 | 1 |
| Compiled | 125 µs | 117 µs | 5.6 µs | 150 | 16 |
| Node.js | 162 µs | 159 µs | 4.6 µs | 232 | 8 |
| Bun | Unavailable: unavailable | ||||
String Indexofn=1000001.3×Faster
string-intrinsics/string-indexof?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 64.6 ms | 63.6 ms | 859 µs | 8 | 1 |
| Compiled | 1.24 ms | 1.15 ms | 67.9 µs | 242 | 1 |
| Node.js | 1.61 ms | 1.58 ms | 58 µs | 186 | 1 |
| Bun | Unavailable: unavailable | ||||
String Slicen=1000.12×Behind
string-intrinsics/string-slice?n=100
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 74.5 µs | 70.1 µs | 5.3 µs | 252 | 16 |
| Compiled | 2.5 µs | 2 µs | 600 ns | 236 | 512 |
| Node.js | 300 ns | 300 ns | 0 ns | 237 | 4096 |
| Bun | Unavailable: unavailable | ||||
String Slicen=100000.2×Behind
string-intrinsics/string-slice?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 7.24 ms | 6.96 ms | 195 µs | 42 | 1 |
| Compiled | 207 µs | 193 µs | 11.3 µs | 182 | 8 |
| Node.js | 41.4 µs | 38.8 µs | 2.2 µs | 227 | 32 |
| Bun | Unavailable: unavailable | ||||
String Slicen=1000000.2×Behind
string-intrinsics/string-slice?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 71.9 ms | 71.2 ms | 753 µs | 8 | 1 |
| Compiled | 2.05 ms | 1.95 ms | 63.4 µs | 147 | 1 |
| Node.js | 416 µs | 389 µs | 25.5 µs | 181 | 4 |
| Bun | Unavailable: unavailable | ||||
String Substringn=1000.14×Behind
string-intrinsics/string-substring?n=100
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 73.7 µs | 70.2 µs | 4.4 µs | 255 | 16 |
| Compiled | 2.2 µs | 1.8 µs | 400 ns | 265 | 512 |
| Node.js | 300 ns | 300 ns | 0 ns | 220 | 4096 |
| Bun | Unavailable: unavailable | ||||
String Substringn=100000.26×Behind
string-intrinsics/string-substring?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 7.23 ms | 6.98 ms | 133 µs | 42 | 1 |
| Compiled | 195 µs | 180 µs | 11.3 µs | 192 | 8 |
| Node.js | 51.3 µs | 47.7 µs | 2.7 µs | 183 | 32 |
| Bun | Unavailable: unavailable | ||||
String Substringn=1000000.27×Behind
string-intrinsics/string-substring?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 72.6 ms | 72.1 ms | 429 µs | 8 | 1 |
| Compiled | 1.96 ms | 1.81 ms | 100 µs | 154 | 1 |
| Node.js | 523 µs | 488 µs | 34.8 µs | 287 | 2 |
| Bun | Unavailable: unavailable | ||||
Stringsn=1000.7×Behind
strings/strings?n=100
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 330 µs | 124 µs | 298 µs | 454 | 2 |
| Compiled | 1 µs | 500 ns | 600 ns | 287 | 1024 |
| Node.js | 700 ns | 700 ns | 0 ns | 202 | 2048 |
| Bun | Unavailable: unavailable | ||||
Stringsn=10001.37×Faster
strings/strings?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 1.37 ms | 1.26 ms | 112 µs | 220 | 1 |
| Compiled | 4.9 µs | 4.3 µs | 5.1 µs | 250 | 256 |
| Node.js | 6.7 µs | 6 µs | 700 ns | 351 | 128 |
| Bun | Unavailable: unavailable | ||||
Stringsn=100001.71×Faster
strings/strings?n=10000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 20.9 ms | 20.4 ms | 264 µs | 15 | 1 |
| Compiled | 45.2 µs | 42.6 µs | 2.9 µs | 208 | 32 |
| Node.js | 77.2 µs | 57.4 µs | 10.4 µs | 243 | 16 |
| Bun | Unavailable: unavailable | ||||
Typed Arraysn=10001.14×Faster
typed-arrays/typed-arrays?n=1000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 2.62 ms | 966 µs | 1.89 ms | 115 | 1 |
| Compiled | 3.5 µs | 2 µs | 1.5 µs | 337 | 256 |
| Node.js | 4 µs | 2.6 µs | 900 ns | 290 | 256 |
| Bun | Unavailable: unavailable | ||||
Typed Arraysn=1000001.22×Faster
typed-arrays/typed-arrays?n=100000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 97.7 ms | 96.8 ms | 711 µs | 8 | 1 |
| Compiled | 336 µs | 314 µs | 23.9 µs | 224 | 4 |
| Node.js | 411 µs | 336 µs | 293 µs | 730 | 1 |
| Bun | Unavailable: unavailable | ||||
Typed Arraysn=10000001.47×Faster
typed-arrays/typed-arrays?n=1000000
Raw measurements
| Mean | Minimum | Standard deviation | Samples | Inner iterations | |
|---|---|---|---|---|---|
| Interpreter | 997 ms | 982 ms | 13.5 ms | 3 | 1 |
| Compiled | 2.18 ms | 1.89 ms | 272 µs | 138 | 1 |
| Node.js | 3.2 ms | 2.75 ms | 2.45 ms | 94 | 1 |
| Bun | Unavailable: unavailable | ||||
No benchmarks match these filters.
Showing 194 benchmark cases.
Engineering ceiling
Compiler headroom
SharpTS-compiled TypeScript compared with equivalent dynamic C# and idiomatic C# within each BenchmarkDotNet run.
No reviewed compiler-micro snapshot is checked into this SharpTS revision yet. The dashboard is ready for the next published schema-v2 run.
Release guardrails
Desktop performance budgets
GUI latency, allocation, startup, memory, and shipping-size evidence stays separate from the Node comparison.
No reviewed GUI snapshot is checked into this SharpTS revision yet. Missing evidence is never shown as zero or as a passing budget.
Read the evidence
Methodology and provenance
Absolute measurements are only compared inside one machine-bound run. Different suites and environments are never combined.
- Environment
- Microsoft Windows 10.0.29639 · x64 · Intel64 Family 6 Model 183 Stepping 1, GenuineIntel
- Toolchain
- .NET 10.0.400 · interpreter 572a2e31be0e2a09be0138bc44501b34d6245b51 · compiled 572a2e31be0e2a09be0138bc44501b34d6245b51 · node v22.23.2
- Timing scope
- inProcessWorkload · performance.now
- Includes
- one workload function invocation
- Excludes
- process startup; script loading; SharpTS compilation; warmup; batch calibration