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.

Moyenne géométrique face à Node1.12×128 cas comparables
Plus rapide que Node57128 cas comparables
À moins de 5 % de Node6128 cas comparables
Encore en retrait65128 cas comparables

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=1000

array-methods/array-methods?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur5.48 ms3.97 ms2.88 ms551
Compilé15.8 µs8.6 µs20.2 µs190131
Node.js13 µs11.2 µs1.5 µs180128
BunIndisponible: unavailable
Array Methodsn=10000

array-methods/array-methods?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur38.3 ms13.1 ms20.1 ms81
Compilé138 µs116 µs12.2 µs13616
Node.js116 µs112 µs4.1 µs16216
BunIndisponible: unavailable
Array Methodsn=100000

array-methods/array-methods?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur125 ms115 ms12.4 ms81
Compilé1.24 ms1.07 ms132 µs2421
Node.js2.2 ms1.89 ms457 µs1371
BunIndisponible: unavailable
Async Function Callsn=10

async-promises/async-function-calls?n=10

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur25.6 µs12.2 µs16.3 µs73316
Compilé200 ns100 ns100 ns2128192
Node.js400 ns300 ns0 ns1984096
BunIndisponible: unavailable
Async Function Callsn=100

async-promises/async-function-calls?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur123 µs105 µs17.3 µs15316
Compilé100 ns100 ns0 ns2528192
Node.js2.7 µs2.5 µs200 ns220512
BunIndisponible: unavailable
Async Function Callsn=1000

async-promises/async-function-calls?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur1.32 ms1.01 ms1.26 ms2281
Compilé500 ns500 ns100 ns2842048
Node.js24.8 µs21.5 µs2.6 µs19064
BunIndisponible: unavailable
Async Resolved Awaitn=10

async-promises/async-resolved-await?n=10

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur74.6 µs45.5 µs254 µs40211
Compilé600 ns300 ns14 µs1000001
Node.js400 ns300 ns100 ns1784096
BunIndisponible: unavailable
Async Resolved Awaitn=100

async-promises/async-resolved-await?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur268 µs111 µs321 µs7216
Compilé100 ns100 ns0 ns2648192
Node.js2.8 µs2.5 µs300 ns211512
BunIndisponible: unavailable
Async Resolved Awaitn=1000

async-promises/async-resolved-await?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur2.41 ms1.06 ms3.78 ms1261
Compilé500 ns500 ns100 ns2832048
Node.js25.9 µs22.7 µs2.9 µs18164
BunIndisponible: unavailable
Promise Alln=10

async-promises/promise-all?n=10

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur70.7 µs33.1 µs454 µs42871
Compilé1.1 µs700 ns15 µs1000001
Node.js500 ns400 ns0 ns1584096
BunIndisponible: unavailable
Promise Alln=100

async-promises/promise-all?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur492 µs255 µs817 µs3092
Compilé1.2 µs800 ns500 ns2371024
Node.js3.2 µs2.8 µs400 ns182512
BunIndisponible: unavailable
Promise Alln=1000

async-promises/promise-all?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur4.68 ms2.47 ms3.61 ms661
Compilé5.6 µs4.4 µs1.1 µs212256
Node.js30.2 µs27.1 µs2 µs15664
BunIndisponible: unavailable
Promise Then Chainn=10

async-promises/promise-then-chain?n=10

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur25.9 µs15.2 µs80.9 µs115751
Compilé1.8 µs1 µs24.2 µs1000001
Node.js300 ns300 ns0 ns2214096
BunIndisponible: unavailable
Promise Then Chainn=100

async-promises/promise-then-chain?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur197 µs135 µs101 µs1918
Compilé3.1 µs2.2 µs1.9 µs746128
Node.js2.5 µs2.2 µs300 ns234512
BunIndisponible: unavailable
Promise Then Chainn=1000

async-promises/promise-then-chain?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur1.74 ms1.28 ms609 µs1721
Compilé23.4 µs18 µs4.8 µs20164
Node.js25 µs21.2 µs3.2 µs37632
BunIndisponible: unavailable
Binary Treesn=12

binary-trees/binary-trees?n=12

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur34.5 ms16.2 ms13 ms91
Compilé60.4 µs52.1 µs6.1 µs15632
Node.js80.5 µs70.1 µs8.2 µs23316
BunIndisponible: unavailable
Binary Treesn=16

binary-trees/binary-trees?n=16

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur302 ms262 ms25.5 ms71
Compilé1.44 ms787 µs1.08 ms2091
Node.js1.4 ms1.11 ms459 µs2151
BunIndisponible: unavailable
Binary Treesn=8

binary-trees/binary-trees?n=8

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur4.13 ms2.94 ms1.59 ms731
Compilé4.9 µs3.3 µs8.4 µs615331
Node.js4.3 µs3.9 µs300 ns274256
BunIndisponible: unavailable
Brainfuckn=50

brainfuck/brainfuck?n=50

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur110 ms54.4 ms94.9 ms81
Compilé227 µs205 µs97.5 µs13201
Node.js170 µs132 µs69.2 µs17611
BunIndisponible: unavailable
Brainfuckn=500

brainfuck/brainfuck?n=500

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur538 ms522 ms15.6 ms41
Compilé2.11 ms2.05 ms82.2 µs1431
Node.js1.79 ms1.64 ms131 µs1681
BunIndisponible: unavailable
Brainfuckn=5000

brainfuck/brainfuck?n=5000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur5.73 s5.73 s0 ns11
Compilé21.4 ms20.9 ms487 µs151
Node.js17.8 ms17.1 ms446 µs171
BunIndisponible: unavailable
Class Constructionn=1000

classes/class-construction?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur1.84 ms1.19 ms1.04 ms1641
Compilé800 ns500 ns800 ns771512
Node.js300 ns300 ns0 ns2574096
BunIndisponible: unavailable
Class Constructionn=10000

classes/class-construction?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur23 ms18.4 ms3.21 ms141
Compilé4.5 µs4.2 µs500 ns526128
Node.js5.3 µs5 µs200 ns222256
BunIndisponible: unavailable
Class Constructionn=100000

classes/class-construction?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur418 ms327 ms66.2 ms61
Compilé42.7 µs39.7 µs3.4 µs22032
Node.js326 µs294 µs26.1 µs2304
BunIndisponible: unavailable
Class Field Reusen=1000

classes/class-field-reuse?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur2.95 ms2.43 ms1.12 ms1021
Compilé2.5 µs500 ns10.8 µs1000001
Node.js400 ns300 ns100 ns2004096
BunIndisponible: unavailable
Class Field Reusen=10000

classes/class-field-reuse?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur7.04 ms5.54 ms851 µs431
Compilé5.2 µs4.9 µs400 ns227256
Node.js6.4 µs6 µs300 ns185256
BunIndisponible: unavailable
Class Field Reusen=100000

classes/class-field-reuse?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur70 ms68.1 ms2.9 ms81
Compilé51.3 µs48.9 µs2.5 µs18332
Node.js84.1 µs81.3 µs3.7 µs22316
BunIndisponible: unavailable
Class Method Inheritance Basen=1000

classes/class-method-inheritance-base?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur909 µs818 µs53.1 µs1662
Compilé900 ns500 ns2 µs2747128
Node.js400 ns300 ns0 ns2014096
BunIndisponible: unavailable
Class Method Inheritance Basen=10000

classes/class-method-inheritance-base?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur9.68 ms8.19 ms780 µs321
Compilé4.9 µs4.6 µs200 ns240256
Node.js6.4 µs6 µs400 ns183256
BunIndisponible: unavailable
Class Method Inheritance Basen=100000

classes/class-method-inheritance-base?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur103 ms96.7 ms4.73 ms81
Compilé52.2 µs50.5 µs2.8 µs18032
Node.js90.9 µs88.3 µs3.1 µs20716
BunIndisponible: unavailable
Class Method Inheritedn=1000

classes/class-method-inherited?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur847 µs745 µs67.2 µs3551
Compilé1.1 µs500 ns2.2 µs2151128
Node.js1 µs1 µs0 ns1472048
BunIndisponible: unavailable
Class Method Inheritedn=10000

classes/class-method-inherited?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur9.77 ms8.32 ms659 µs311
Compilé5.1 µs4.9 µs300 ns232256
Node.js10.6 µs10 µs500 ns222128
BunIndisponible: unavailable
Class Method Inheritedn=100000

classes/class-method-inherited?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur108 ms105 ms1.45 ms81
Compilé58.1 µs50.9 µs11.2 µs16232
Node.js94.8 µs87.5 µs4.1 µs19816
BunIndisponible: unavailable
Class Method Overriden=1000

classes/class-method-override?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur921 µs809 µs72.5 µs1632
Compilé2.8 µs600 ns12.1 µs1000001
Node.js1 µs1 µs0 ns1472048
BunIndisponible: unavailable
Class Method Overriden=10000

classes/class-method-override?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur9.95 ms7.66 ms892 µs311
Compilé4.9 µs4.8 µs200 ns238256
Node.js10.4 µs10 µs300 ns225128
BunIndisponible: unavailable
Class Method Overriden=100000

classes/class-method-override?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur113 ms107 ms5.99 ms81
Compilé56.6 µs50.4 µs3 µs33216
Node.js96.8 µs90.2 µs4.6 µs19416
BunIndisponible: unavailable
Class Method Reusen=1000

classes/class-method-reuse?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur2.3 ms919 µs1.72 ms1311
Compilé800 ns500 ns1.6 µs3074128
Node.js400 ns300 ns0 ns1994096
BunIndisponible: unavailable
Class Method Reusen=10000

classes/class-method-reuse?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur9.64 ms8.07 ms745 µs321
Compilé5.1 µs4.9 µs500 ns229256
Node.js6.6 µs6.1 µs900 ns178256
BunIndisponible: unavailable
Class Method Reusen=100000

classes/class-method-reuse?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur101 ms94.5 ms3.55 ms81
Compilé56.1 µs48.6 µs7.1 µs33516
Node.js91.9 µs88.5 µs5.1 µs20516
BunIndisponible: unavailable
Class Method Supern=1000

classes/class-method-super?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur1.55 ms1.3 ms131 µs1941
Compilé1 µs500 ns2.2 µs2372128
Node.js1 µs1 µs100 ns2951024
BunIndisponible: unavailable
Class Method Supern=10000

classes/class-method-super?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur16.9 ms16.3 ms402 µs181
Compilé5.3 µs4.9 µs400 ns222256
Node.js10.7 µs10.2 µs700 ns219128
BunIndisponible: unavailable
Class Method Supern=100000

classes/class-method-super?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur217 ms201 ms12.1 ms81
Compilé55.6 µs50.3 µs4.6 µs33816
Node.js114 µs111 µs3.3 µs16516
BunIndisponible: unavailable
Closuresn=1000

closures/closures?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur4.24 ms1.43 ms2.26 ms711
Compilé3.8 µs1.6 µs7.3 µs785991
Node.js18.3 µs14.3 µs2.8 µs128128
BunIndisponible: unavailable
Closuresn=10000

closures/closures?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur11.7 ms7.31 ms3.04 ms261
Compilé20.3 µs17.7 µs3.3 µs23264
Node.js141 µs117 µs22 µs2668
BunIndisponible: unavailable
Closuresn=100000

closures/closures?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur65.8 ms61.8 ms3.95 ms81
Compilé210 µs187 µs32.6 µs1808
Node.js1.8 ms1.28 ms360 µs1671
BunIndisponible: unavailable
Count Primesn=1000

count-primes/count-primes?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur12.8 ms9.27 ms5.48 ms241
Compilé12.4 µs6.2 µs19.6 µs242021
Node.js2.8 µs2.5 µs300 ns209512
BunIndisponible: unavailable
Count Primesn=10000

count-primes/count-primes?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur59.8 ms24.3 ms37.4 ms81
Compilé79.7 µs71.3 µs5.8 µs23616
Node.js39.6 µs36.4 µs3 µs23732
BunIndisponible: unavailable
Count Primesn=100000

count-primes/count-primes?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur256 ms215 ms28.7 ms81
Compilé935 µs760 µs193 µs1612
Node.js891 µs721 µs183 µs1692
BunIndisponible: unavailable
Date Numericn=100

date-numeric/date-numeric?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur378 µs287 µs323 µs7951
Compilé2.2 µs1.8 µs9.1 µs1000001
Node.js700 ns600 ns100 ns2002048
BunIndisponible: unavailable
Date Numericn=10000

date-numeric/date-numeric?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur12.6 ms5.59 ms12.5 ms241
Compilé48.9 µs42.8 µs14.3 µs7678
Node.js64.6 µs56.3 µs5.9 µs29116
BunIndisponible: unavailable
Date Numericn=100000

date-numeric/date-numeric?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur54.3 ms53.6 ms660 µs81
Compilé465 µs433 µs21.2 µs1624
Node.js659 µs549 µs132 µs4561
BunIndisponible: unavailable
Throw Branch Controln=100000

exceptions/throw-branch-control?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur96.9 ms43.9 ms93.7 ms81
Compilé412 µs292 µs586 µs7291
Node.js186 µs116 µs381 µs16131
BunIndisponible: unavailable
Throw Errorn=100000

exceptions/throw-error?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur101 ms64.1 ms23.5 ms81
Compilé4.97 ms1.95 ms6.02 ms651
Node.js1.84 ms718 µs4.28 ms1641
BunIndisponible: unavailable
Throw Primitiven=100000

exceptions/throw-primitive?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur120 ms69.7 ms24.3 ms81
Compilé415 µs270 µs242 µs7241
Node.js302 µs170 µs824 µs2544
BunIndisponible: unavailable
Throw Try Catch No Thrown=100000

exceptions/throw-try-catch-no-throw?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur81.2 ms53.3 ms26.3 ms81
Compilé414 µs295 µs588 µs7251
Node.js178 µs117 µs67.5 µs2118
BunIndisponible: unavailable
Factorialn=100

factorial/factorial?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur167 µs49 µs281 µs17961
Compilé1.1 µs800 ns6.5 µs1000001
Node.js100 ns100 ns0 ns30616384
BunIndisponible: unavailable
Factorialn=1000

factorial/factorial?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur424 µs337 µs69.3 µs1774
Compilé1.6 µs1 µs1.3 µs749256
Node.js900 ns900 ns0 ns3151024
BunIndisponible: unavailable
Factorialn=10000

factorial/factorial?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur3.44 ms3.01 ms250 µs881
Compilé9.7 µs9.3 µs400 ns243128
Node.js9.1 µs8.5 µs400 ns257128
BunIndisponible: unavailable
Fibonaccin=10

fibonacci/fibonacci?n=10

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur496 µs383 µs463 µs6051
Compilé1.4 µs800 ns17.9 µs1000001
Node.js1 µs600 ns400 ns2941024
BunIndisponible: unavailable
Fibonaccin=20

fibonacci/fibonacci?n=20

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur38.2 ms10.2 ms23.6 ms81
Compilé51.6 µs37.6 µs25.6 µs36416
Node.js123 µs83.3 µs40.3 µs3078
BunIndisponible: unavailable
Fibonaccin=30

fibonacci/fibonacci?n=30

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur1.18 s1.15 s39.1 ms21
Compilé16.8 ms4.46 ms19.9 ms181
Node.js13.5 ms12.1 ms1.08 ms231
BunIndisponible: unavailable
Fibonaccin=35

fibonacci/fibonacci?n=35

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur13.4 s13.4 s0 ns11
Compilé64.5 ms51.3 ms7.67 ms81
Node.js145 ms140 ms3.29 ms81
BunIndisponible: unavailable
Accumulaten=1000

int-arrays/accumulate?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur3.9 ms2.82 ms464 µs771
Compilé4.5 µs3.5 µs1.3 µs260256
Node.js5.1 µs3.2 µs900 ns229256
BunIndisponible: unavailable
Accumulaten=100000

int-arrays/accumulate?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur264 ms244 ms17.8 ms81
Compilé496 µs459 µs41.6 µs1524
Node.js476 µs388 µs246 µs1584
BunIndisponible: unavailable
Accumulaten=1000000

int-arrays/accumulate?n=1000000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur2.63 s2.63 s0 ns11
Compilé3.96 ms3.38 ms418 µs761
Node.js3.74 ms3.35 ms371 µs811
BunIndisponible: unavailable
Int32 Kerneln=1000

int-arrays/int32-kernel?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur5.58 ms2.01 ms3.44 ms541
Compilé4 µs2 µs10.1 µs754521
Node.js2.8 µs2.3 µs300 ns206512
BunIndisponible: unavailable
Int32 Kerneln=100000

int-arrays/int32-kernel?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur133 ms116 ms22.3 ms81
Compilé292 µs268 µs38.1 µs1298
Node.js278 µs228 µs132 µs1358
BunIndisponible: unavailable
Int32 Kerneln=1000000

int-arrays/int32-kernel?n=1000000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur1.2 s1.16 s48.5 ms21
Compilé2.76 ms2.59 ms166 µs1091
Node.js2.19 ms1.98 ms239 µs1381
BunIndisponible: unavailable
Jsonn=100

json/json?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur1.08 ms726 µs1.56 ms2791
Compilé16.4 µs7.8 µs190 µs182551
Node.js21.3 µs19.2 µs2.9 µs22164
BunIndisponible: unavailable
Jsonn=1000

json/json?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur12.7 ms11.4 ms1.63 ms241
Compilé93.5 µs76.5 µs12.1 µs20116
Node.js205 µs176 µs29.4 µs1838
BunIndisponible: unavailable
Jsonn=10000

json/json?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur57 ms27.1 ms22.6 ms81
Compilé3.91 ms867 µs4.94 ms771
Node.js2.44 ms2.03 ms355 µs1231
BunIndisponible: unavailable
Flattened Rest Controln=1000

language-hot-paths/flattened-rest-control?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur356 µs301 µs36.1 µs2114
Compilé2.1 µs1.5 µs1.2 µs556256
Node.js400 ns400 ns0 ns1744096
BunIndisponible: unavailable
Flattened Rest Controln=10000

language-hot-paths/flattened-rest-control?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur3.66 ms3.36 ms224 µs821
Compilé16.3 µs15.5 µs1 µs144128
Node.js6.6 µs5.2 µs1.2 µs178256
BunIndisponible: unavailable
Flattened Rest Controln=100000

language-hot-paths/flattened-rest-control?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur34 ms33.2 ms568 µs91
Compilé164 µs155 µs6.5 µs2298
Node.js192 µs181 µs9 µs1968
BunIndisponible: unavailable
Format Fixedn=1000

language-hot-paths/format-fixed?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur881 µs706 µs165 µs3411
Compilé106 µs39.1 µs94.4 µs28221
Node.js63.6 µs59.5 µs5.4 µs14832
BunIndisponible: unavailable
Format Fixedn=10000

language-hot-paths/format-fixed?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur7.95 ms7.46 ms287 µs381
Compilé461 µs423 µs42.2 µs3262
Node.js1.05 ms928 µs158 µs2871
BunIndisponible: unavailable
Format Fixedn=100000

language-hot-paths/format-fixed?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur79.9 ms77.7 ms1.79 ms81
Compilé4.75 ms4.46 ms291 µs641
Node.js8.5 ms7.84 ms299 µs361
BunIndisponible: unavailable
Generator Rangen=1000

language-hot-paths/generator-range?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur1.77 ms1.22 ms1.18 ms1701
Compilé3.6 µs1.9 µs5.6 µs129264
Node.js9.2 µs8.3 µs900 ns255128
BunIndisponible: unavailable
Generator Rangen=10000

language-hot-paths/generator-range?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur13.9 ms12.5 ms1.05 ms221
Compilé20 µs19.1 µs1.5 µs23564
Node.js213 µs149 µs60.5 µs1778
BunIndisponible: unavailable
Generator Rangen=100000

language-hot-paths/generator-range?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur132 ms121 ms5.9 ms81
Compilé239 µs200 µs28.1 µs1578
Node.js1.17 ms1 ms88.5 µs2571
BunIndisponible: unavailable
Numeric Assignment Controln=1000

language-hot-paths/numeric-assignment-control?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur296 µs255 µs46.7 µs2544
Compilé600 ns400 ns600 ns1037512
Node.js300 ns300 ns0 ns2534096
BunIndisponible: unavailable
Numeric Assignment Controln=10000

language-hot-paths/numeric-assignment-control?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur2.74 ms2.45 ms204 µs1101
Compilé4.2 µs4 µs300 ns283256
Node.js3.9 µs3.7 µs300 ns149512
BunIndisponible: unavailable
Numeric Assignment Controln=100000

language-hot-paths/numeric-assignment-control?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur26.9 ms26.1 ms606 µs121
Compilé42.9 µs41.2 µs2.6 µs21932
Node.js82 µs68.4 µs17.3 µs22916
BunIndisponible: unavailable
Numeric Compoundn=1000

language-hot-paths/numeric-compound?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur1.2 ms362 µs1.28 ms2501
Compilé2 µs400 ns5.4 µs1000001
Node.js300 ns300 ns0 ns2544096
BunIndisponible: unavailable
Numeric Compoundn=10000

language-hot-paths/numeric-compound?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur3.66 ms3.26 ms216 µs821
Compilé4.2 µs4 µs300 ns281256
Node.js3.7 µs3.6 µs200 ns157512
BunIndisponible: unavailable
Numeric Compoundn=100000

language-hot-paths/numeric-compound?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur37 ms35.5 ms1.46 ms91
Compilé41.7 µs39.6 µs3.4 µs22632
Node.js91.5 µs78.8 µs22.8 µs20616
BunIndisponible: unavailable
Parse Integersn=1000

language-hot-paths/parse-integers?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur838 µs608 µs316 µs3591
Compilé600 ns400 ns700 ns927512
Node.js4.6 µs4.4 µs400 ns255256
BunIndisponible: unavailable
Parse Integersn=10000

language-hot-paths/parse-integers?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur6.67 ms6.09 ms394 µs461
Compilé4.2 µs4 µs200 ns282256
Node.js84 µs73.6 µs18.2 µs22416
BunIndisponible: unavailable
Parse Integersn=100000

language-hot-paths/parse-integers?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur68.5 ms64.2 ms2.41 ms81
Compilé43.1 µs39.6 µs4.5 µs21832
Node.js1.54 ms1.33 ms226 µs1961
BunIndisponible: unavailable
Stable Numeric Restn=1000

language-hot-paths/stable-numeric-rest?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur947 µs825 µs96.8 µs3171
Compilé1 µs600 ns1.1 µs597512
Node.js300 ns300 ns200 ns7420128
BunIndisponible: unavailable
Stable Numeric Restn=10000

language-hot-paths/stable-numeric-rest?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur9.43 ms8.68 ms515 µs321
Compilé5.8 µs5.5 µs400 ns204256
Node.js6.6 µs6.3 µs500 ns179256
BunIndisponible: unavailable
Stable Numeric Restn=100000

language-hot-paths/stable-numeric-rest?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur95.3 ms93.2 ms1.71 ms81
Compilé59.7 µs55 µs3.8 µs15832
Node.js430 µs72.4 µs432 µs6991
BunIndisponible: unavailable
Map Iterationn=100

map-set/map-iteration?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur188 µs95.8 µs65.1 µs15961
Compilé3.2 µs2.1 µs1.7 µs369256
Node.js2.1 µs1.9 µs100 ns275512
BunIndisponible: unavailable
Map Iterationn=1000

map-set/map-iteration?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur1.03 ms906 µs114 µs1462
Compilé23.5 µs20.3 µs1.7 µs20064
Node.js15 µs13.3 µs2.4 µs31264
BunIndisponible: unavailable
Map Iterationn=10000

map-set/map-iteration?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur14.5 ms10.7 ms4.44 ms211
Compilé513 µs273 µs228 µs2932
Node.js432 µs367 µs140 µs3482
BunIndisponible: unavailable
Map Operationsn=100

map-set/map-operations?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur997 µs488 µs779 µs3011
Compilé4.7 µs1.6 µs13.7 µs643691
Node.js2.3 µs2 µs100 ns254512
BunIndisponible: unavailable
Map Operationsn=1000

map-set/map-operations?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur1.92 ms1.58 ms233 µs1571
Compilé18.4 µs16.5 µs1.4 µs25564
Node.js19.6 µs15.7 µs2.5 µs24064
BunIndisponible: unavailable
Map Operationsn=10000

map-set/map-operations?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur23.3 ms21.6 ms1.3 ms131
Compilé358 µs206 µs113 µs1058
Node.js543 µs452 µs269 µs5531
BunIndisponible: unavailable
Set Iterationn=100

map-set/set-iteration?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur73.3 µs62.2 µs10.6 µs25616
Compilé3.8 µs2.5 µs1.8 µs310256
Node.js1.9 µs1.6 µs400 ns1531024
BunIndisponible: unavailable
Set Iterationn=1000

map-set/set-iteration?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur786 µs688 µs102 µs1912
Compilé26.1 µs23 µs1.9 µs18064
Node.js11.8 µs10.4 µs1.1 µs199128
BunIndisponible: unavailable
Set Iterationn=10000

map-set/set-iteration?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur9.78 ms6.73 ms2.91 ms311
Compilé444 µs243 µs349 µs6781
Node.js362 µs295 µs161 µs2084
BunIndisponible: unavailable
Set Operationsn=100

map-set/set-operations?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur152 µs126 µs43.1 µs19811
Compilé4.2 µs2.4 µs2.5 µs556128
Node.js1.7 µs1.6 µs100 ns1751024
BunIndisponible: unavailable
Set Operationsn=1000

map-set/set-operations?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur1.63 ms1.41 ms192 µs1841
Compilé27.9 µs22.8 µs4.7 µs33732
Node.js18.1 µs15.8 µs2.1 µs25964
BunIndisponible: unavailable
Set Operationsn=10000

map-set/set-operations?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur16.1 ms14.6 ms1.02 ms191
Compilé529 µs284 µs224 µs1424
Node.js501 µs426 µs194 µs3002
BunIndisponible: unavailable
Num Pushn=1000

num-arrays/num-push?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur1.47 ms816 µs349 µs2051
Compilé5.2 µs3.1 µs5.2 µs90064
Node.js3.2 µs2.9 µs200 ns186512
BunIndisponible: unavailable
Num Pushn=100000

num-arrays/num-push?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur114 ms98.2 ms14.5 ms81
Compilé777 µs682 µs201 µs1942
Node.js719 µs553 µs524 µs4211
BunIndisponible: unavailable
Num Pushn=1000000

num-arrays/num-push?n=1000000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur1.03 s1.01 s20.7 ms21
Compilé5.38 ms3.94 ms1.48 ms561
Node.js8.61 ms7.42 ms833 µs351
BunIndisponible: unavailable
Num Writen=1000

num-arrays/num-write?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur4.36 ms3.24 ms2.48 ms691
Compilé32.6 µs25 µs38 µs92131
Node.js2.7 µs2.5 µs300 ns214512
BunIndisponible: unavailable
Num Writen=100000

num-arrays/num-write?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur110 ms82.9 ms57.4 ms81
Compilé801 µs716 µs93.6 µs1882
Node.js758 µs575 µs209 µs1982
BunIndisponible: unavailable
Num Writen=1000000

num-arrays/num-write?n=1000000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur922 ms877 ms39.6 ms31
Compilé5.73 ms4.34 ms1.51 ms531
Node.js8.59 ms6.76 ms2.14 ms351
BunIndisponible: unavailable
Objectsn=1000

objects/objects?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur2.03 ms528 µs1.66 ms1481
Compilé2.4 µs800 ns6 µs1000001
Node.js1.2 µs700 ns1 µs1262048
BunIndisponible: unavailable
Objectsn=10000

objects/objects?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur5.67 ms5.15 ms339 µs531
Compilé8.3 µs7.9 µs700 ns281128
Node.js22.6 µs14.4 µs7.1 µs104128
BunIndisponible: unavailable
Objectsn=100000

objects/objects?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur56 ms54.6 ms1.36 ms81
Compilé87.4 µs78.2 µs7.2 µs21516
Node.js405 µs143 µs292 µs7421
BunIndisponible: unavailable
Regex Validatorn=100

regex-validator/regex-validator?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur4.26 ms1.66 ms6.86 ms711
Compilé17.3 µs5.4 µs205 µs173051
Node.js6 µs3.1 µs1.2 µs195256
BunIndisponible: unavailable
Regex Validatorn=10000

regex-validator/regex-validator?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur191 ms62.3 ms136 ms81
Compilé799 µs559 µs171 µs1882
Node.js605 µs268 µs122 µs4961
BunIndisponible: unavailable
Regex Validatorn=100000

regex-validator/regex-validator?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur850 ms719 ms119 ms31
Compilé8.41 ms6.3 ms1.4 ms361
Node.js6.28 ms5.11 ms647 µs481
BunIndisponible: unavailable
Regexn=100

regex/regex?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur371 µs109 µs942 µs8091
Compilé227 µs96.9 µs790 µs13201
Node.js34.6 µs27.1 µs7 µs13664
BunIndisponible: unavailable
Regexn=1000

regex/regex?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur464 µs377 µs121 µs3242
Compilé804 µs545 µs307 µs1872
Node.js380 µs265 µs136 µs3952
BunIndisponible: unavailable
Regexn=10000

regex/regex?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur3.9 ms3.3 ms1.15 ms781
Compilé6.1 ms4.83 ms967 µs501
Node.js4.5 ms2.84 ms1.75 ms681
BunIndisponible: unavailable
Sortn=100

sort/sort?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur521 µs437 µs438 µs5761
Compilé83.3 µs64.6 µs115 µs36011
Node.js9.1 µs7.9 µs1.4 µs257128
BunIndisponible: unavailable
Sortn=1000

sort/sort?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur10.5 ms9.38 ms2.14 ms291
Compilé266 µs165 µs192 µs5652
Node.js230 µs206 µs13.8 µs1648
BunIndisponible: unavailable
Sortn=10000

sort/sort?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur35.3 ms26 ms10.2 ms91
Compilé2.77 ms2.37 ms616 µs1091
Node.js2.94 ms2.69 ms189 µs1031
BunIndisponible: unavailable
Stringsn=100

strings/strings?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur918 µs678 µs723 µs3271
Compilé2.7 µs2 µs5.8 µs1000001
Node.js1 µs900 ns100 ns2891024
BunIndisponible: unavailable
Stringsn=1000

strings/strings?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur5.18 ms1.86 ms2.38 ms581
Compilé9.6 µs7.7 µs2.2 µs246128
Node.js8.9 µs8 µs800 ns264128
BunIndisponible: unavailable
Stringsn=10000

strings/strings?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur26 ms23.7 ms2.02 ms121
Compilé80.9 µs75.5 µs2.7 µs23216
Node.js96.4 µs80.8 µs15.2 µs19516
BunIndisponible: unavailable
Typed Arraysn=1000

typed-arrays/typed-arrays?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur6.77 ms5.14 ms2.33 ms451
Compilé3.7 µs2 µs7.9 µs815641
Node.js3.8 µs2.2 µs1.9 µs621128
BunIndisponible: unavailable
Typed Arraysn=100000

typed-arrays/typed-arrays?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur175 ms123 ms63 ms81
Compilé330 µs248 µs72.4 µs4562
Node.js392 µs330 µs219 µs1924
BunIndisponible: unavailable
Typed Arraysn=1000000

typed-arrays/typed-arrays?n=1000000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur1.2 s1.16 s58.2 ms21
Compilé2.24 ms1.93 ms304 µs1341
Node.js2.79 ms2.57 ms285 µs1081
BunIndisponible: unavailable

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.

Cross-runtime
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

JSON normalisé brut · Pinned SharpTS 7c601010