Performances mesurées
TypeScript à la vitesse de .NET
Des mesures reproductibles de la révision SharpTS épinglée, centrées sur l'objectif principal : atteindre ou dépasser Node.js.
Benchmark principal
SharpTS face à Node.js
Chaque ligne compare la même charge TypeScript dans le même environnement. L'échelle logarithmique empêche les valeurs extrêmes de masquer les résultats ordinaires.
Array Methodsn=10000.82×En retrait
array-methods/array-methods?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 5.48 ms | 3.97 ms | 2.88 ms | 55 | 1 |
| Compilé | 15.8 µs | 8.6 µs | 20.2 µs | 19013 | 1 |
| Node.js | 13 µs | 11.2 µs | 1.5 µs | 180 | 128 |
| Bun | Indisponible: unavailable | ||||
Array Methodsn=100000.84×En retrait
array-methods/array-methods?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 38.3 ms | 13.1 ms | 20.1 ms | 8 | 1 |
| Compilé | 138 µs | 116 µs | 12.2 µs | 136 | 16 |
| Node.js | 116 µs | 112 µs | 4.1 µs | 162 | 16 |
| Bun | Indisponible: unavailable | ||||
Array Methodsn=1000001.77×Plus rapide
array-methods/array-methods?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 125 ms | 115 ms | 12.4 ms | 8 | 1 |
| Compilé | 1.24 ms | 1.07 ms | 132 µs | 242 | 1 |
| Node.js | 2.2 ms | 1.89 ms | 457 µs | 137 | 1 |
| Bun | Indisponible: unavailable | ||||
Async Function Callsn=102×Plus rapide
async-promises/async-function-calls?n=10
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 25.6 µs | 12.2 µs | 16.3 µs | 733 | 16 |
| Compilé | 200 ns | 100 ns | 100 ns | 212 | 8192 |
| Node.js | 400 ns | 300 ns | 0 ns | 198 | 4096 |
| Bun | Indisponible: unavailable | ||||
Async Function Callsn=10027×Plus rapide
async-promises/async-function-calls?n=100
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 123 µs | 105 µs | 17.3 µs | 153 | 16 |
| Compilé | 100 ns | 100 ns | 0 ns | 252 | 8192 |
| Node.js | 2.7 µs | 2.5 µs | 200 ns | 220 | 512 |
| Bun | Indisponible: unavailable | ||||
Async Function Callsn=100049.6×Plus rapide
async-promises/async-function-calls?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 1.32 ms | 1.01 ms | 1.26 ms | 228 | 1 |
| Compilé | 500 ns | 500 ns | 100 ns | 284 | 2048 |
| Node.js | 24.8 µs | 21.5 µs | 2.6 µs | 190 | 64 |
| Bun | Indisponible: unavailable | ||||
Async Resolved Awaitn=100.67×En retrait
async-promises/async-resolved-await?n=10
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 74.6 µs | 45.5 µs | 254 µs | 4021 | 1 |
| Compilé | 600 ns | 300 ns | 14 µs | 100000 | 1 |
| Node.js | 400 ns | 300 ns | 100 ns | 178 | 4096 |
| Bun | Indisponible: unavailable | ||||
Async Resolved Awaitn=10028×Plus rapide
async-promises/async-resolved-await?n=100
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 268 µs | 111 µs | 321 µs | 72 | 16 |
| Compilé | 100 ns | 100 ns | 0 ns | 264 | 8192 |
| Node.js | 2.8 µs | 2.5 µs | 300 ns | 211 | 512 |
| Bun | Indisponible: unavailable | ||||
Async Resolved Awaitn=100051.8×Plus rapide
async-promises/async-resolved-await?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 2.41 ms | 1.06 ms | 3.78 ms | 126 | 1 |
| Compilé | 500 ns | 500 ns | 100 ns | 283 | 2048 |
| Node.js | 25.9 µs | 22.7 µs | 2.9 µs | 181 | 64 |
| Bun | Indisponible: unavailable | ||||
Promise Alln=100.45×En retrait
async-promises/promise-all?n=10
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 70.7 µs | 33.1 µs | 454 µs | 4287 | 1 |
| Compilé | 1.1 µs | 700 ns | 15 µs | 100000 | 1 |
| Node.js | 500 ns | 400 ns | 0 ns | 158 | 4096 |
| Bun | Indisponible: unavailable | ||||
Promise Alln=1002.67×Plus rapide
async-promises/promise-all?n=100
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 492 µs | 255 µs | 817 µs | 309 | 2 |
| Compilé | 1.2 µs | 800 ns | 500 ns | 237 | 1024 |
| Node.js | 3.2 µs | 2.8 µs | 400 ns | 182 | 512 |
| Bun | Indisponible: unavailable | ||||
Promise Alln=10005.39×Plus rapide
async-promises/promise-all?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 4.68 ms | 2.47 ms | 3.61 ms | 66 | 1 |
| Compilé | 5.6 µs | 4.4 µs | 1.1 µs | 212 | 256 |
| Node.js | 30.2 µs | 27.1 µs | 2 µs | 156 | 64 |
| Bun | Indisponible: unavailable | ||||
Promise Then Chainn=100.17×En retrait
async-promises/promise-then-chain?n=10
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 25.9 µs | 15.2 µs | 80.9 µs | 11575 | 1 |
| Compilé | 1.8 µs | 1 µs | 24.2 µs | 100000 | 1 |
| Node.js | 300 ns | 300 ns | 0 ns | 221 | 4096 |
| Bun | Indisponible: unavailable | ||||
Promise Then Chainn=1000.81×En retrait
async-promises/promise-then-chain?n=100
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 197 µs | 135 µs | 101 µs | 191 | 8 |
| Compilé | 3.1 µs | 2.2 µs | 1.9 µs | 746 | 128 |
| Node.js | 2.5 µs | 2.2 µs | 300 ns | 234 | 512 |
| Bun | Indisponible: unavailable | ||||
Promise Then Chainn=10001.07×Plus rapide
async-promises/promise-then-chain?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 1.74 ms | 1.28 ms | 609 µs | 172 | 1 |
| Compilé | 23.4 µs | 18 µs | 4.8 µs | 201 | 64 |
| Node.js | 25 µs | 21.2 µs | 3.2 µs | 376 | 32 |
| Bun | Indisponible: unavailable | ||||
Binary Treesn=121.33×Plus rapide
binary-trees/binary-trees?n=12
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 34.5 ms | 16.2 ms | 13 ms | 9 | 1 |
| Compilé | 60.4 µs | 52.1 µs | 6.1 µs | 156 | 32 |
| Node.js | 80.5 µs | 70.1 µs | 8.2 µs | 233 | 16 |
| Bun | Indisponible: unavailable | ||||
Binary Treesn=160.97×Presque à parité
binary-trees/binary-trees?n=16
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 302 ms | 262 ms | 25.5 ms | 7 | 1 |
| Compilé | 1.44 ms | 787 µs | 1.08 ms | 209 | 1 |
| Node.js | 1.4 ms | 1.11 ms | 459 µs | 215 | 1 |
| Bun | Indisponible: unavailable | ||||
Binary Treesn=80.88×En retrait
binary-trees/binary-trees?n=8
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 4.13 ms | 2.94 ms | 1.59 ms | 73 | 1 |
| Compilé | 4.9 µs | 3.3 µs | 8.4 µs | 61533 | 1 |
| Node.js | 4.3 µs | 3.9 µs | 300 ns | 274 | 256 |
| Bun | Indisponible: unavailable | ||||
Brainfuckn=500.75×En retrait
brainfuck/brainfuck?n=50
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 110 ms | 54.4 ms | 94.9 ms | 8 | 1 |
| Compilé | 227 µs | 205 µs | 97.5 µs | 1320 | 1 |
| Node.js | 170 µs | 132 µs | 69.2 µs | 1761 | 1 |
| Bun | Indisponible: unavailable | ||||
Brainfuckn=5000.85×En retrait
brainfuck/brainfuck?n=500
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 538 ms | 522 ms | 15.6 ms | 4 | 1 |
| Compilé | 2.11 ms | 2.05 ms | 82.2 µs | 143 | 1 |
| Node.js | 1.79 ms | 1.64 ms | 131 µs | 168 | 1 |
| Bun | Indisponible: unavailable | ||||
Brainfuckn=50000.83×En retrait
brainfuck/brainfuck?n=5000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 5.73 s | 5.73 s | 0 ns | 1 | 1 |
| Compilé | 21.4 ms | 20.9 ms | 487 µs | 15 | 1 |
| Node.js | 17.8 ms | 17.1 ms | 446 µs | 17 | 1 |
| Bun | Indisponible: unavailable | ||||
Class Constructionn=10000.37×En retrait
classes/class-construction?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 1.84 ms | 1.19 ms | 1.04 ms | 164 | 1 |
| Compilé | 800 ns | 500 ns | 800 ns | 771 | 512 |
| Node.js | 300 ns | 300 ns | 0 ns | 257 | 4096 |
| Bun | Indisponible: unavailable | ||||
Class Constructionn=100001.18×Plus rapide
classes/class-construction?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 23 ms | 18.4 ms | 3.21 ms | 14 | 1 |
| Compilé | 4.5 µs | 4.2 µs | 500 ns | 526 | 128 |
| Node.js | 5.3 µs | 5 µs | 200 ns | 222 | 256 |
| Bun | Indisponible: unavailable | ||||
Class Constructionn=1000007.64×Plus rapide
classes/class-construction?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 418 ms | 327 ms | 66.2 ms | 6 | 1 |
| Compilé | 42.7 µs | 39.7 µs | 3.4 µs | 220 | 32 |
| Node.js | 326 µs | 294 µs | 26.1 µs | 230 | 4 |
| Bun | Indisponible: unavailable | ||||
Class Field Reusen=10000.16×En retrait
classes/class-field-reuse?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 2.95 ms | 2.43 ms | 1.12 ms | 102 | 1 |
| Compilé | 2.5 µs | 500 ns | 10.8 µs | 100000 | 1 |
| Node.js | 400 ns | 300 ns | 100 ns | 200 | 4096 |
| Bun | Indisponible: unavailable | ||||
Class Field Reusen=100001.23×Plus rapide
classes/class-field-reuse?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 7.04 ms | 5.54 ms | 851 µs | 43 | 1 |
| Compilé | 5.2 µs | 4.9 µs | 400 ns | 227 | 256 |
| Node.js | 6.4 µs | 6 µs | 300 ns | 185 | 256 |
| Bun | Indisponible: unavailable | ||||
Class Field Reusen=1000001.64×Plus rapide
classes/class-field-reuse?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 70 ms | 68.1 ms | 2.9 ms | 8 | 1 |
| Compilé | 51.3 µs | 48.9 µs | 2.5 µs | 183 | 32 |
| Node.js | 84.1 µs | 81.3 µs | 3.7 µs | 223 | 16 |
| Bun | Indisponible: unavailable | ||||
Class Method Inheritance Basen=10000.44×En retrait
classes/class-method-inheritance-base?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 909 µs | 818 µs | 53.1 µs | 166 | 2 |
| Compilé | 900 ns | 500 ns | 2 µs | 2747 | 128 |
| Node.js | 400 ns | 300 ns | 0 ns | 201 | 4096 |
| Bun | Indisponible: unavailable | ||||
Class Method Inheritance Basen=100001.31×Plus rapide
classes/class-method-inheritance-base?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 9.68 ms | 8.19 ms | 780 µs | 32 | 1 |
| Compilé | 4.9 µs | 4.6 µs | 200 ns | 240 | 256 |
| Node.js | 6.4 µs | 6 µs | 400 ns | 183 | 256 |
| Bun | Indisponible: unavailable | ||||
Class Method Inheritance Basen=1000001.74×Plus rapide
classes/class-method-inheritance-base?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 103 ms | 96.7 ms | 4.73 ms | 8 | 1 |
| Compilé | 52.2 µs | 50.5 µs | 2.8 µs | 180 | 32 |
| Node.js | 90.9 µs | 88.3 µs | 3.1 µs | 207 | 16 |
| Bun | Indisponible: unavailable | ||||
Class Method Inheritedn=10000.91×En retrait
classes/class-method-inherited?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 847 µs | 745 µs | 67.2 µs | 355 | 1 |
| Compilé | 1.1 µs | 500 ns | 2.2 µs | 2151 | 128 |
| Node.js | 1 µs | 1 µs | 0 ns | 147 | 2048 |
| Bun | Indisponible: unavailable | ||||
Class Method Inheritedn=100002.08×Plus rapide
classes/class-method-inherited?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 9.77 ms | 8.32 ms | 659 µs | 31 | 1 |
| Compilé | 5.1 µs | 4.9 µs | 300 ns | 232 | 256 |
| Node.js | 10.6 µs | 10 µs | 500 ns | 222 | 128 |
| Bun | Indisponible: unavailable | ||||
Class Method Inheritedn=1000001.63×Plus rapide
classes/class-method-inherited?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 108 ms | 105 ms | 1.45 ms | 8 | 1 |
| Compilé | 58.1 µs | 50.9 µs | 11.2 µs | 162 | 32 |
| Node.js | 94.8 µs | 87.5 µs | 4.1 µs | 198 | 16 |
| Bun | Indisponible: unavailable | ||||
Class Method Overriden=10000.36×En retrait
classes/class-method-override?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 921 µs | 809 µs | 72.5 µs | 163 | 2 |
| Compilé | 2.8 µs | 600 ns | 12.1 µs | 100000 | 1 |
| Node.js | 1 µs | 1 µs | 0 ns | 147 | 2048 |
| Bun | Indisponible: unavailable | ||||
Class Method Overriden=100002.12×Plus rapide
classes/class-method-override?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 9.95 ms | 7.66 ms | 892 µs | 31 | 1 |
| Compilé | 4.9 µs | 4.8 µs | 200 ns | 238 | 256 |
| Node.js | 10.4 µs | 10 µs | 300 ns | 225 | 128 |
| Bun | Indisponible: unavailable | ||||
Class Method Overriden=1000001.71×Plus rapide
classes/class-method-override?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 113 ms | 107 ms | 5.99 ms | 8 | 1 |
| Compilé | 56.6 µs | 50.4 µs | 3 µs | 332 | 16 |
| Node.js | 96.8 µs | 90.2 µs | 4.6 µs | 194 | 16 |
| Bun | Indisponible: unavailable | ||||
Class Method Reusen=10000.5×En retrait
classes/class-method-reuse?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 2.3 ms | 919 µs | 1.72 ms | 131 | 1 |
| Compilé | 800 ns | 500 ns | 1.6 µs | 3074 | 128 |
| Node.js | 400 ns | 300 ns | 0 ns | 199 | 4096 |
| Bun | Indisponible: unavailable | ||||
Class Method Reusen=100001.29×Plus rapide
classes/class-method-reuse?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 9.64 ms | 8.07 ms | 745 µs | 32 | 1 |
| Compilé | 5.1 µs | 4.9 µs | 500 ns | 229 | 256 |
| Node.js | 6.6 µs | 6.1 µs | 900 ns | 178 | 256 |
| Bun | Indisponible: unavailable | ||||
Class Method Reusen=1000001.64×Plus rapide
classes/class-method-reuse?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 101 ms | 94.5 ms | 3.55 ms | 8 | 1 |
| Compilé | 56.1 µs | 48.6 µs | 7.1 µs | 335 | 16 |
| Node.js | 91.9 µs | 88.5 µs | 5.1 µs | 205 | 16 |
| Bun | Indisponible: unavailable | ||||
Class Method Supern=10001×Presque à parité
classes/class-method-super?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 1.55 ms | 1.3 ms | 131 µs | 194 | 1 |
| Compilé | 1 µs | 500 ns | 2.2 µs | 2372 | 128 |
| Node.js | 1 µs | 1 µs | 100 ns | 295 | 1024 |
| Bun | Indisponible: unavailable | ||||
Class Method Supern=100002.02×Plus rapide
classes/class-method-super?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 16.9 ms | 16.3 ms | 402 µs | 18 | 1 |
| Compilé | 5.3 µs | 4.9 µs | 400 ns | 222 | 256 |
| Node.js | 10.7 µs | 10.2 µs | 700 ns | 219 | 128 |
| Bun | Indisponible: unavailable | ||||
Class Method Supern=1000002.05×Plus rapide
classes/class-method-super?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 217 ms | 201 ms | 12.1 ms | 8 | 1 |
| Compilé | 55.6 µs | 50.3 µs | 4.6 µs | 338 | 16 |
| Node.js | 114 µs | 111 µs | 3.3 µs | 165 | 16 |
| Bun | Indisponible: unavailable | ||||
Closuresn=10004.82×Plus rapide
closures/closures?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 4.24 ms | 1.43 ms | 2.26 ms | 71 | 1 |
| Compilé | 3.8 µs | 1.6 µs | 7.3 µs | 78599 | 1 |
| Node.js | 18.3 µs | 14.3 µs | 2.8 µs | 128 | 128 |
| Bun | Indisponible: unavailable | ||||
Closuresn=100006.96×Plus rapide
closures/closures?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 11.7 ms | 7.31 ms | 3.04 ms | 26 | 1 |
| Compilé | 20.3 µs | 17.7 µs | 3.3 µs | 232 | 64 |
| Node.js | 141 µs | 117 µs | 22 µs | 266 | 8 |
| Bun | Indisponible: unavailable | ||||
Closuresn=1000008.59×Plus rapide
closures/closures?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 65.8 ms | 61.8 ms | 3.95 ms | 8 | 1 |
| Compilé | 210 µs | 187 µs | 32.6 µs | 180 | 8 |
| Node.js | 1.8 ms | 1.28 ms | 360 µs | 167 | 1 |
| Bun | Indisponible: unavailable | ||||
Count Primesn=10000.23×En retrait
count-primes/count-primes?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 12.8 ms | 9.27 ms | 5.48 ms | 24 | 1 |
| Compilé | 12.4 µs | 6.2 µs | 19.6 µs | 24202 | 1 |
| Node.js | 2.8 µs | 2.5 µs | 300 ns | 209 | 512 |
| Bun | Indisponible: unavailable | ||||
Count Primesn=100000.5×En retrait
count-primes/count-primes?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 59.8 ms | 24.3 ms | 37.4 ms | 8 | 1 |
| Compilé | 79.7 µs | 71.3 µs | 5.8 µs | 236 | 16 |
| Node.js | 39.6 µs | 36.4 µs | 3 µs | 237 | 32 |
| Bun | Indisponible: unavailable | ||||
Count Primesn=1000000.95×Presque à parité
count-primes/count-primes?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 256 ms | 215 ms | 28.7 ms | 8 | 1 |
| Compilé | 935 µs | 760 µs | 193 µs | 161 | 2 |
| Node.js | 891 µs | 721 µs | 183 µs | 169 | 2 |
| Bun | Indisponible: unavailable | ||||
Date Numericn=1000.32×En retrait
date-numeric/date-numeric?n=100
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 378 µs | 287 µs | 323 µs | 795 | 1 |
| Compilé | 2.2 µs | 1.8 µs | 9.1 µs | 100000 | 1 |
| Node.js | 700 ns | 600 ns | 100 ns | 200 | 2048 |
| Bun | Indisponible: unavailable | ||||
Date Numericn=100001.32×Plus rapide
date-numeric/date-numeric?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 12.6 ms | 5.59 ms | 12.5 ms | 24 | 1 |
| Compilé | 48.9 µs | 42.8 µs | 14.3 µs | 767 | 8 |
| Node.js | 64.6 µs | 56.3 µs | 5.9 µs | 291 | 16 |
| Bun | Indisponible: unavailable | ||||
Date Numericn=1000001.42×Plus rapide
date-numeric/date-numeric?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 54.3 ms | 53.6 ms | 660 µs | 8 | 1 |
| Compilé | 465 µs | 433 µs | 21.2 µs | 162 | 4 |
| Node.js | 659 µs | 549 µs | 132 µs | 456 | 1 |
| Bun | Indisponible: unavailable | ||||
Throw Branch Controln=1000000.45×En retrait
exceptions/throw-branch-control?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 96.9 ms | 43.9 ms | 93.7 ms | 8 | 1 |
| Compilé | 412 µs | 292 µs | 586 µs | 729 | 1 |
| Node.js | 186 µs | 116 µs | 381 µs | 1613 | 1 |
| Bun | Indisponible: unavailable | ||||
Throw Errorn=1000000.37×En retrait
exceptions/throw-error?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 101 ms | 64.1 ms | 23.5 ms | 8 | 1 |
| Compilé | 4.97 ms | 1.95 ms | 6.02 ms | 65 | 1 |
| Node.js | 1.84 ms | 718 µs | 4.28 ms | 164 | 1 |
| Bun | Indisponible: unavailable | ||||
Throw Primitiven=1000000.73×En retrait
exceptions/throw-primitive?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 120 ms | 69.7 ms | 24.3 ms | 8 | 1 |
| Compilé | 415 µs | 270 µs | 242 µs | 724 | 1 |
| Node.js | 302 µs | 170 µs | 824 µs | 254 | 4 |
| Bun | Indisponible: unavailable | ||||
Throw Try Catch No Thrown=1000000.43×En retrait
exceptions/throw-try-catch-no-throw?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 81.2 ms | 53.3 ms | 26.3 ms | 8 | 1 |
| Compilé | 414 µs | 295 µs | 588 µs | 725 | 1 |
| Node.js | 178 µs | 117 µs | 67.5 µs | 211 | 8 |
| Bun | Indisponible: unavailable | ||||
Factorialn=1000.09×En retrait
factorial/factorial?n=100
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 167 µs | 49 µs | 281 µs | 1796 | 1 |
| Compilé | 1.1 µs | 800 ns | 6.5 µs | 100000 | 1 |
| Node.js | 100 ns | 100 ns | 0 ns | 306 | 16384 |
| Bun | Indisponible: unavailable | ||||
Factorialn=10000.56×En retrait
factorial/factorial?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 424 µs | 337 µs | 69.3 µs | 177 | 4 |
| Compilé | 1.6 µs | 1 µs | 1.3 µs | 749 | 256 |
| Node.js | 900 ns | 900 ns | 0 ns | 315 | 1024 |
| Bun | Indisponible: unavailable | ||||
Factorialn=100000.94×En retrait
factorial/factorial?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 3.44 ms | 3.01 ms | 250 µs | 88 | 1 |
| Compilé | 9.7 µs | 9.3 µs | 400 ns | 243 | 128 |
| Node.js | 9.1 µs | 8.5 µs | 400 ns | 257 | 128 |
| Bun | Indisponible: unavailable | ||||
Fibonaccin=100.71×En retrait
fibonacci/fibonacci?n=10
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 496 µs | 383 µs | 463 µs | 605 | 1 |
| Compilé | 1.4 µs | 800 ns | 17.9 µs | 100000 | 1 |
| Node.js | 1 µs | 600 ns | 400 ns | 294 | 1024 |
| Bun | Indisponible: unavailable | ||||
Fibonaccin=202.37×Plus rapide
fibonacci/fibonacci?n=20
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 38.2 ms | 10.2 ms | 23.6 ms | 8 | 1 |
| Compilé | 51.6 µs | 37.6 µs | 25.6 µs | 364 | 16 |
| Node.js | 123 µs | 83.3 µs | 40.3 µs | 307 | 8 |
| Bun | Indisponible: unavailable | ||||
Fibonaccin=300.8×En retrait
fibonacci/fibonacci?n=30
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 1.18 s | 1.15 s | 39.1 ms | 2 | 1 |
| Compilé | 16.8 ms | 4.46 ms | 19.9 ms | 18 | 1 |
| Node.js | 13.5 ms | 12.1 ms | 1.08 ms | 23 | 1 |
| Bun | Indisponible: unavailable | ||||
Fibonaccin=352.25×Plus rapide
fibonacci/fibonacci?n=35
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 13.4 s | 13.4 s | 0 ns | 1 | 1 |
| Compilé | 64.5 ms | 51.3 ms | 7.67 ms | 8 | 1 |
| Node.js | 145 ms | 140 ms | 3.29 ms | 8 | 1 |
| Bun | Indisponible: unavailable | ||||
Accumulaten=10001.13×Plus rapide
int-arrays/accumulate?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 3.9 ms | 2.82 ms | 464 µs | 77 | 1 |
| Compilé | 4.5 µs | 3.5 µs | 1.3 µs | 260 | 256 |
| Node.js | 5.1 µs | 3.2 µs | 900 ns | 229 | 256 |
| Bun | Indisponible: unavailable | ||||
Accumulaten=1000000.96×Presque à parité
int-arrays/accumulate?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 264 ms | 244 ms | 17.8 ms | 8 | 1 |
| Compilé | 496 µs | 459 µs | 41.6 µs | 152 | 4 |
| Node.js | 476 µs | 388 µs | 246 µs | 158 | 4 |
| Bun | Indisponible: unavailable | ||||
Accumulaten=10000000.94×En retrait
int-arrays/accumulate?n=1000000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 2.63 s | 2.63 s | 0 ns | 1 | 1 |
| Compilé | 3.96 ms | 3.38 ms | 418 µs | 76 | 1 |
| Node.js | 3.74 ms | 3.35 ms | 371 µs | 81 | 1 |
| Bun | Indisponible: unavailable | ||||
Int32 Kerneln=10000.7×En retrait
int-arrays/int32-kernel?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 5.58 ms | 2.01 ms | 3.44 ms | 54 | 1 |
| Compilé | 4 µs | 2 µs | 10.1 µs | 75452 | 1 |
| Node.js | 2.8 µs | 2.3 µs | 300 ns | 206 | 512 |
| Bun | Indisponible: unavailable | ||||
Int32 Kerneln=1000000.95×Presque à parité
int-arrays/int32-kernel?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 133 ms | 116 ms | 22.3 ms | 8 | 1 |
| Compilé | 292 µs | 268 µs | 38.1 µs | 129 | 8 |
| Node.js | 278 µs | 228 µs | 132 µs | 135 | 8 |
| Bun | Indisponible: unavailable | ||||
Int32 Kerneln=10000000.79×En retrait
int-arrays/int32-kernel?n=1000000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 1.2 s | 1.16 s | 48.5 ms | 2 | 1 |
| Compilé | 2.76 ms | 2.59 ms | 166 µs | 109 | 1 |
| Node.js | 2.19 ms | 1.98 ms | 239 µs | 138 | 1 |
| Bun | Indisponible: unavailable | ||||
Jsonn=1001.3×Plus rapide
json/json?n=100
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 1.08 ms | 726 µs | 1.56 ms | 279 | 1 |
| Compilé | 16.4 µs | 7.8 µs | 190 µs | 18255 | 1 |
| Node.js | 21.3 µs | 19.2 µs | 2.9 µs | 221 | 64 |
| Bun | Indisponible: unavailable | ||||
Jsonn=10002.2×Plus rapide
json/json?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 12.7 ms | 11.4 ms | 1.63 ms | 24 | 1 |
| Compilé | 93.5 µs | 76.5 µs | 12.1 µs | 201 | 16 |
| Node.js | 205 µs | 176 µs | 29.4 µs | 183 | 8 |
| Bun | Indisponible: unavailable | ||||
Jsonn=100000.62×En retrait
json/json?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 57 ms | 27.1 ms | 22.6 ms | 8 | 1 |
| Compilé | 3.91 ms | 867 µs | 4.94 ms | 77 | 1 |
| Node.js | 2.44 ms | 2.03 ms | 355 µs | 123 | 1 |
| Bun | Indisponible: unavailable | ||||
Flattened Rest Controln=10000.19×En retrait
language-hot-paths/flattened-rest-control?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 356 µs | 301 µs | 36.1 µs | 211 | 4 |
| Compilé | 2.1 µs | 1.5 µs | 1.2 µs | 556 | 256 |
| Node.js | 400 ns | 400 ns | 0 ns | 174 | 4096 |
| Bun | Indisponible: unavailable | ||||
Flattened Rest Controln=100000.4×En retrait
language-hot-paths/flattened-rest-control?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 3.66 ms | 3.36 ms | 224 µs | 82 | 1 |
| Compilé | 16.3 µs | 15.5 µs | 1 µs | 144 | 128 |
| Node.js | 6.6 µs | 5.2 µs | 1.2 µs | 178 | 256 |
| Bun | Indisponible: unavailable | ||||
Flattened Rest Controln=1000001.17×Plus rapide
language-hot-paths/flattened-rest-control?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 34 ms | 33.2 ms | 568 µs | 9 | 1 |
| Compilé | 164 µs | 155 µs | 6.5 µs | 229 | 8 |
| Node.js | 192 µs | 181 µs | 9 µs | 196 | 8 |
| Bun | Indisponible: unavailable | ||||
Format Fixedn=10000.6×En retrait
language-hot-paths/format-fixed?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 881 µs | 706 µs | 165 µs | 341 | 1 |
| Compilé | 106 µs | 39.1 µs | 94.4 µs | 2822 | 1 |
| Node.js | 63.6 µs | 59.5 µs | 5.4 µs | 148 | 32 |
| Bun | Indisponible: unavailable | ||||
Format Fixedn=100002.27×Plus rapide
language-hot-paths/format-fixed?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 7.95 ms | 7.46 ms | 287 µs | 38 | 1 |
| Compilé | 461 µs | 423 µs | 42.2 µs | 326 | 2 |
| Node.js | 1.05 ms | 928 µs | 158 µs | 287 | 1 |
| Bun | Indisponible: unavailable | ||||
Format Fixedn=1000001.79×Plus rapide
language-hot-paths/format-fixed?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 79.9 ms | 77.7 ms | 1.79 ms | 8 | 1 |
| Compilé | 4.75 ms | 4.46 ms | 291 µs | 64 | 1 |
| Node.js | 8.5 ms | 7.84 ms | 299 µs | 36 | 1 |
| Bun | Indisponible: unavailable | ||||
Generator Rangen=10002.56×Plus rapide
language-hot-paths/generator-range?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 1.77 ms | 1.22 ms | 1.18 ms | 170 | 1 |
| Compilé | 3.6 µs | 1.9 µs | 5.6 µs | 1292 | 64 |
| Node.js | 9.2 µs | 8.3 µs | 900 ns | 255 | 128 |
| Bun | Indisponible: unavailable | ||||
Generator Rangen=1000010.6×Plus rapide
language-hot-paths/generator-range?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 13.9 ms | 12.5 ms | 1.05 ms | 22 | 1 |
| Compilé | 20 µs | 19.1 µs | 1.5 µs | 235 | 64 |
| Node.js | 213 µs | 149 µs | 60.5 µs | 177 | 8 |
| Bun | Indisponible: unavailable | ||||
Generator Rangen=1000004.9×Plus rapide
language-hot-paths/generator-range?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 132 ms | 121 ms | 5.9 ms | 8 | 1 |
| Compilé | 239 µs | 200 µs | 28.1 µs | 157 | 8 |
| Node.js | 1.17 ms | 1 ms | 88.5 µs | 257 | 1 |
| Bun | Indisponible: unavailable | ||||
Numeric Assignment Controln=10000.5×En retrait
language-hot-paths/numeric-assignment-control?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 296 µs | 255 µs | 46.7 µs | 254 | 4 |
| Compilé | 600 ns | 400 ns | 600 ns | 1037 | 512 |
| Node.js | 300 ns | 300 ns | 0 ns | 253 | 4096 |
| Bun | Indisponible: unavailable | ||||
Numeric Assignment Controln=100000.93×En retrait
language-hot-paths/numeric-assignment-control?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 2.74 ms | 2.45 ms | 204 µs | 110 | 1 |
| Compilé | 4.2 µs | 4 µs | 300 ns | 283 | 256 |
| Node.js | 3.9 µs | 3.7 µs | 300 ns | 149 | 512 |
| Bun | Indisponible: unavailable | ||||
Numeric Assignment Controln=1000001.91×Plus rapide
language-hot-paths/numeric-assignment-control?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 26.9 ms | 26.1 ms | 606 µs | 12 | 1 |
| Compilé | 42.9 µs | 41.2 µs | 2.6 µs | 219 | 32 |
| Node.js | 82 µs | 68.4 µs | 17.3 µs | 229 | 16 |
| Bun | Indisponible: unavailable | ||||
Numeric Compoundn=10000.15×En retrait
language-hot-paths/numeric-compound?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 1.2 ms | 362 µs | 1.28 ms | 250 | 1 |
| Compilé | 2 µs | 400 ns | 5.4 µs | 100000 | 1 |
| Node.js | 300 ns | 300 ns | 0 ns | 254 | 4096 |
| Bun | Indisponible: unavailable | ||||
Numeric Compoundn=100000.88×En retrait
language-hot-paths/numeric-compound?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 3.66 ms | 3.26 ms | 216 µs | 82 | 1 |
| Compilé | 4.2 µs | 4 µs | 300 ns | 281 | 256 |
| Node.js | 3.7 µs | 3.6 µs | 200 ns | 157 | 512 |
| Bun | Indisponible: unavailable | ||||
Numeric Compoundn=1000002.19×Plus rapide
language-hot-paths/numeric-compound?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 37 ms | 35.5 ms | 1.46 ms | 9 | 1 |
| Compilé | 41.7 µs | 39.6 µs | 3.4 µs | 226 | 32 |
| Node.js | 91.5 µs | 78.8 µs | 22.8 µs | 206 | 16 |
| Bun | Indisponible: unavailable | ||||
Parse Integersn=10007.67×Plus rapide
language-hot-paths/parse-integers?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 838 µs | 608 µs | 316 µs | 359 | 1 |
| Compilé | 600 ns | 400 ns | 700 ns | 927 | 512 |
| Node.js | 4.6 µs | 4.4 µs | 400 ns | 255 | 256 |
| Bun | Indisponible: unavailable | ||||
Parse Integersn=1000020×Plus rapide
language-hot-paths/parse-integers?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 6.67 ms | 6.09 ms | 394 µs | 46 | 1 |
| Compilé | 4.2 µs | 4 µs | 200 ns | 282 | 256 |
| Node.js | 84 µs | 73.6 µs | 18.2 µs | 224 | 16 |
| Bun | Indisponible: unavailable | ||||
Parse Integersn=10000035.7×Plus rapide
language-hot-paths/parse-integers?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 68.5 ms | 64.2 ms | 2.41 ms | 8 | 1 |
| Compilé | 43.1 µs | 39.6 µs | 4.5 µs | 218 | 32 |
| Node.js | 1.54 ms | 1.33 ms | 226 µs | 196 | 1 |
| Bun | Indisponible: unavailable | ||||
Stable Numeric Restn=10000.3×En retrait
language-hot-paths/stable-numeric-rest?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 947 µs | 825 µs | 96.8 µs | 317 | 1 |
| Compilé | 1 µs | 600 ns | 1.1 µs | 597 | 512 |
| Node.js | 300 ns | 300 ns | 200 ns | 7420 | 128 |
| Bun | Indisponible: unavailable | ||||
Stable Numeric Restn=100001.14×Plus rapide
language-hot-paths/stable-numeric-rest?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 9.43 ms | 8.68 ms | 515 µs | 32 | 1 |
| Compilé | 5.8 µs | 5.5 µs | 400 ns | 204 | 256 |
| Node.js | 6.6 µs | 6.3 µs | 500 ns | 179 | 256 |
| Bun | Indisponible: unavailable | ||||
Stable Numeric Restn=1000007.21×Plus rapide
language-hot-paths/stable-numeric-rest?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 95.3 ms | 93.2 ms | 1.71 ms | 8 | 1 |
| Compilé | 59.7 µs | 55 µs | 3.8 µs | 158 | 32 |
| Node.js | 430 µs | 72.4 µs | 432 µs | 699 | 1 |
| Bun | Indisponible: unavailable | ||||
Map Iterationn=1000.66×En retrait
map-set/map-iteration?n=100
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 188 µs | 95.8 µs | 65.1 µs | 1596 | 1 |
| Compilé | 3.2 µs | 2.1 µs | 1.7 µs | 369 | 256 |
| Node.js | 2.1 µs | 1.9 µs | 100 ns | 275 | 512 |
| Bun | Indisponible: unavailable | ||||
Map Iterationn=10000.64×En retrait
map-set/map-iteration?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 1.03 ms | 906 µs | 114 µs | 146 | 2 |
| Compilé | 23.5 µs | 20.3 µs | 1.7 µs | 200 | 64 |
| Node.js | 15 µs | 13.3 µs | 2.4 µs | 312 | 64 |
| Bun | Indisponible: unavailable | ||||
Map Iterationn=100000.84×En retrait
map-set/map-iteration?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 14.5 ms | 10.7 ms | 4.44 ms | 21 | 1 |
| Compilé | 513 µs | 273 µs | 228 µs | 293 | 2 |
| Node.js | 432 µs | 367 µs | 140 µs | 348 | 2 |
| Bun | Indisponible: unavailable | ||||
Map Operationsn=1000.49×En retrait
map-set/map-operations?n=100
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 997 µs | 488 µs | 779 µs | 301 | 1 |
| Compilé | 4.7 µs | 1.6 µs | 13.7 µs | 64369 | 1 |
| Node.js | 2.3 µs | 2 µs | 100 ns | 254 | 512 |
| Bun | Indisponible: unavailable | ||||
Map Operationsn=10001.07×Plus rapide
map-set/map-operations?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 1.92 ms | 1.58 ms | 233 µs | 157 | 1 |
| Compilé | 18.4 µs | 16.5 µs | 1.4 µs | 255 | 64 |
| Node.js | 19.6 µs | 15.7 µs | 2.5 µs | 240 | 64 |
| Bun | Indisponible: unavailable | ||||
Map Operationsn=100001.52×Plus rapide
map-set/map-operations?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 23.3 ms | 21.6 ms | 1.3 ms | 13 | 1 |
| Compilé | 358 µs | 206 µs | 113 µs | 105 | 8 |
| Node.js | 543 µs | 452 µs | 269 µs | 553 | 1 |
| Bun | Indisponible: unavailable | ||||
Set Iterationn=1000.5×En retrait
map-set/set-iteration?n=100
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 73.3 µs | 62.2 µs | 10.6 µs | 256 | 16 |
| Compilé | 3.8 µs | 2.5 µs | 1.8 µs | 310 | 256 |
| Node.js | 1.9 µs | 1.6 µs | 400 ns | 153 | 1024 |
| Bun | Indisponible: unavailable | ||||
Set Iterationn=10000.45×En retrait
map-set/set-iteration?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 786 µs | 688 µs | 102 µs | 191 | 2 |
| Compilé | 26.1 µs | 23 µs | 1.9 µs | 180 | 64 |
| Node.js | 11.8 µs | 10.4 µs | 1.1 µs | 199 | 128 |
| Bun | Indisponible: unavailable | ||||
Set Iterationn=100000.81×En retrait
map-set/set-iteration?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 9.78 ms | 6.73 ms | 2.91 ms | 31 | 1 |
| Compilé | 444 µs | 243 µs | 349 µs | 678 | 1 |
| Node.js | 362 µs | 295 µs | 161 µs | 208 | 4 |
| Bun | Indisponible: unavailable | ||||
Set Operationsn=1000.4×En retrait
map-set/set-operations?n=100
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 152 µs | 126 µs | 43.1 µs | 1981 | 1 |
| Compilé | 4.2 µs | 2.4 µs | 2.5 µs | 556 | 128 |
| Node.js | 1.7 µs | 1.6 µs | 100 ns | 175 | 1024 |
| Bun | Indisponible: unavailable | ||||
Set Operationsn=10000.65×En retrait
map-set/set-operations?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 1.63 ms | 1.41 ms | 192 µs | 184 | 1 |
| Compilé | 27.9 µs | 22.8 µs | 4.7 µs | 337 | 32 |
| Node.js | 18.1 µs | 15.8 µs | 2.1 µs | 259 | 64 |
| Bun | Indisponible: unavailable | ||||
Set Operationsn=100000.95×En retrait
map-set/set-operations?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 16.1 ms | 14.6 ms | 1.02 ms | 19 | 1 |
| Compilé | 529 µs | 284 µs | 224 µs | 142 | 4 |
| Node.js | 501 µs | 426 µs | 194 µs | 300 | 2 |
| Bun | Indisponible: unavailable | ||||
Num Pushn=10000.62×En retrait
num-arrays/num-push?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 1.47 ms | 816 µs | 349 µs | 205 | 1 |
| Compilé | 5.2 µs | 3.1 µs | 5.2 µs | 900 | 64 |
| Node.js | 3.2 µs | 2.9 µs | 200 ns | 186 | 512 |
| Bun | Indisponible: unavailable | ||||
Num Pushn=1000000.93×En retrait
num-arrays/num-push?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 114 ms | 98.2 ms | 14.5 ms | 8 | 1 |
| Compilé | 777 µs | 682 µs | 201 µs | 194 | 2 |
| Node.js | 719 µs | 553 µs | 524 µs | 421 | 1 |
| Bun | Indisponible: unavailable | ||||
Num Pushn=10000001.6×Plus rapide
num-arrays/num-push?n=1000000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 1.03 s | 1.01 s | 20.7 ms | 2 | 1 |
| Compilé | 5.38 ms | 3.94 ms | 1.48 ms | 56 | 1 |
| Node.js | 8.61 ms | 7.42 ms | 833 µs | 35 | 1 |
| Bun | Indisponible: unavailable | ||||
Num Writen=10000.08×En retrait
num-arrays/num-write?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 4.36 ms | 3.24 ms | 2.48 ms | 69 | 1 |
| Compilé | 32.6 µs | 25 µs | 38 µs | 9213 | 1 |
| Node.js | 2.7 µs | 2.5 µs | 300 ns | 214 | 512 |
| Bun | Indisponible: unavailable | ||||
Num Writen=1000000.95×En retrait
num-arrays/num-write?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 110 ms | 82.9 ms | 57.4 ms | 8 | 1 |
| Compilé | 801 µs | 716 µs | 93.6 µs | 188 | 2 |
| Node.js | 758 µs | 575 µs | 209 µs | 198 | 2 |
| Bun | Indisponible: unavailable | ||||
Num Writen=10000001.5×Plus rapide
num-arrays/num-write?n=1000000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 922 ms | 877 ms | 39.6 ms | 3 | 1 |
| Compilé | 5.73 ms | 4.34 ms | 1.51 ms | 53 | 1 |
| Node.js | 8.59 ms | 6.76 ms | 2.14 ms | 35 | 1 |
| Bun | Indisponible: unavailable | ||||
Objectsn=10000.5×En retrait
objects/objects?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 2.03 ms | 528 µs | 1.66 ms | 148 | 1 |
| Compilé | 2.4 µs | 800 ns | 6 µs | 100000 | 1 |
| Node.js | 1.2 µs | 700 ns | 1 µs | 126 | 2048 |
| Bun | Indisponible: unavailable | ||||
Objectsn=100002.72×Plus rapide
objects/objects?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 5.67 ms | 5.15 ms | 339 µs | 53 | 1 |
| Compilé | 8.3 µs | 7.9 µs | 700 ns | 281 | 128 |
| Node.js | 22.6 µs | 14.4 µs | 7.1 µs | 104 | 128 |
| Bun | Indisponible: unavailable | ||||
Objectsn=1000004.63×Plus rapide
objects/objects?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 56 ms | 54.6 ms | 1.36 ms | 8 | 1 |
| Compilé | 87.4 µs | 78.2 µs | 7.2 µs | 215 | 16 |
| Node.js | 405 µs | 143 µs | 292 µs | 742 | 1 |
| Bun | Indisponible: unavailable | ||||
Regex Validatorn=1000.35×En retrait
regex-validator/regex-validator?n=100
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 4.26 ms | 1.66 ms | 6.86 ms | 71 | 1 |
| Compilé | 17.3 µs | 5.4 µs | 205 µs | 17305 | 1 |
| Node.js | 6 µs | 3.1 µs | 1.2 µs | 195 | 256 |
| Bun | Indisponible: unavailable | ||||
Regex Validatorn=100000.76×En retrait
regex-validator/regex-validator?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 191 ms | 62.3 ms | 136 ms | 8 | 1 |
| Compilé | 799 µs | 559 µs | 171 µs | 188 | 2 |
| Node.js | 605 µs | 268 µs | 122 µs | 496 | 1 |
| Bun | Indisponible: unavailable | ||||
Regex Validatorn=1000000.75×En retrait
regex-validator/regex-validator?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 850 ms | 719 ms | 119 ms | 3 | 1 |
| Compilé | 8.41 ms | 6.3 ms | 1.4 ms | 36 | 1 |
| Node.js | 6.28 ms | 5.11 ms | 647 µs | 48 | 1 |
| Bun | Indisponible: unavailable | ||||
Regexn=1000.15×En retrait
regex/regex?n=100
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 371 µs | 109 µs | 942 µs | 809 | 1 |
| Compilé | 227 µs | 96.9 µs | 790 µs | 1320 | 1 |
| Node.js | 34.6 µs | 27.1 µs | 7 µs | 136 | 64 |
| Bun | Indisponible: unavailable | ||||
Regexn=10000.47×En retrait
regex/regex?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 464 µs | 377 µs | 121 µs | 324 | 2 |
| Compilé | 804 µs | 545 µs | 307 µs | 187 | 2 |
| Node.js | 380 µs | 265 µs | 136 µs | 395 | 2 |
| Bun | Indisponible: unavailable | ||||
Regexn=100000.74×En retrait
regex/regex?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 3.9 ms | 3.3 ms | 1.15 ms | 78 | 1 |
| Compilé | 6.1 ms | 4.83 ms | 967 µs | 50 | 1 |
| Node.js | 4.5 ms | 2.84 ms | 1.75 ms | 68 | 1 |
| Bun | Indisponible: unavailable | ||||
Sortn=1000.11×En retrait
sort/sort?n=100
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 521 µs | 437 µs | 438 µs | 576 | 1 |
| Compilé | 83.3 µs | 64.6 µs | 115 µs | 3601 | 1 |
| Node.js | 9.1 µs | 7.9 µs | 1.4 µs | 257 | 128 |
| Bun | Indisponible: unavailable | ||||
Sortn=10000.87×En retrait
sort/sort?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 10.5 ms | 9.38 ms | 2.14 ms | 29 | 1 |
| Compilé | 266 µs | 165 µs | 192 µs | 565 | 2 |
| Node.js | 230 µs | 206 µs | 13.8 µs | 164 | 8 |
| Bun | Indisponible: unavailable | ||||
Sortn=100001.06×Plus rapide
sort/sort?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 35.3 ms | 26 ms | 10.2 ms | 9 | 1 |
| Compilé | 2.77 ms | 2.37 ms | 616 µs | 109 | 1 |
| Node.js | 2.94 ms | 2.69 ms | 189 µs | 103 | 1 |
| Bun | Indisponible: unavailable | ||||
Stringsn=1000.37×En retrait
strings/strings?n=100
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 918 µs | 678 µs | 723 µs | 327 | 1 |
| Compilé | 2.7 µs | 2 µs | 5.8 µs | 100000 | 1 |
| Node.js | 1 µs | 900 ns | 100 ns | 289 | 1024 |
| Bun | Indisponible: unavailable | ||||
Stringsn=10000.93×En retrait
strings/strings?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 5.18 ms | 1.86 ms | 2.38 ms | 58 | 1 |
| Compilé | 9.6 µs | 7.7 µs | 2.2 µs | 246 | 128 |
| Node.js | 8.9 µs | 8 µs | 800 ns | 264 | 128 |
| Bun | Indisponible: unavailable | ||||
Stringsn=100001.19×Plus rapide
strings/strings?n=10000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 26 ms | 23.7 ms | 2.02 ms | 12 | 1 |
| Compilé | 80.9 µs | 75.5 µs | 2.7 µs | 232 | 16 |
| Node.js | 96.4 µs | 80.8 µs | 15.2 µs | 195 | 16 |
| Bun | Indisponible: unavailable | ||||
Typed Arraysn=10001.03×Presque à parité
typed-arrays/typed-arrays?n=1000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 6.77 ms | 5.14 ms | 2.33 ms | 45 | 1 |
| Compilé | 3.7 µs | 2 µs | 7.9 µs | 81564 | 1 |
| Node.js | 3.8 µs | 2.2 µs | 1.9 µs | 621 | 128 |
| Bun | Indisponible: unavailable | ||||
Typed Arraysn=1000001.19×Plus rapide
typed-arrays/typed-arrays?n=100000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 175 ms | 123 ms | 63 ms | 8 | 1 |
| Compilé | 330 µs | 248 µs | 72.4 µs | 456 | 2 |
| Node.js | 392 µs | 330 µs | 219 µs | 192 | 4 |
| Bun | Indisponible: unavailable | ||||
Typed Arraysn=10000001.25×Plus rapide
typed-arrays/typed-arrays?n=1000000
Mesures brutes
| Moyenne | Minimum | Écart type | Échantillons | Itérations internes | |
|---|---|---|---|---|---|
| Interpréteur | 1.2 s | 1.16 s | 58.2 ms | 2 | 1 |
| Compilé | 2.24 ms | 1.93 ms | 304 µs | 134 | 1 |
| Node.js | 2.79 ms | 2.57 ms | 285 µs | 108 | 1 |
| Bun | Indisponible: unavailable | ||||
Aucun benchmark ne correspond à ces filtres.
128 cas de benchmark affichés.
Plafond technique
Marge du compilateur
TypeScript compilé par SharpTS face au C# dynamique équivalent et au C# idiomatique dans chaque exécution BenchmarkDotNet.
Aucun instantané compiler-micro validé n'est encore intégré à cette révision. Le tableau est prêt pour la prochaine exécution schema-v2 publiée.
Garde-fous de version
Budgets de performance bureau
La latence, l'allocation, le démarrage, la mémoire et la taille restent séparés de la comparaison Node.
Aucun instantané GUI validé n'est encore intégré. Une mesure absente n'est jamais affichée comme zéro ni comme un budget réussi.
Lire les mesures
Méthodologie et provenance
Les mesures absolues ne sont comparées qu'au sein d'une même exécution liée à une machine. Les suites et environnements différents ne sont jamais combinés.
- Environnement
- Microsoft Windows 10.0.29639 · x64 · Intel64 Family 6 Model 183 Stepping 1, GenuineIntel
- Outils
- .NET 10.0.400 · interpreter 0b93b1119bd1e27cbd07e83211fa31568e6ac596 · compiled 0b93b1119bd1e27cbd07e83211fa31568e6ac596 · node v24.19.0
- Périmètre temporel
- inProcessWorkload · performance.now
- Inclus
- one workload function invocation
- Exclus
- process startup; script loading; SharpTS compilation; warmup; batch calibration