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 à Node0.9×190 cas comparables
Plus rapide que Node97190 cas comparables
À moins de 5 % de Node15190 cas comparables
Encore en retrait78190 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 Destructuren=10000

array-destructure/array-destructure?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur14.4 ms5.24 ms11.3 ms211
Compilé120 µs55.9 µs111 µs6244
Node.js7.9 µs7.7 µs300 ns148256
BunIndisponible: unavailable
Array Destructuren=100000

array-destructure/array-destructure?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur53.5 ms53 ms462 µs81
Compilé623 µs559 µs274 µs2412
Node.js97.8 µs96.4 µs3.1 µs19216
BunIndisponible: unavailable
Array Includesn=1000

array-includes/array-includes?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur4.12 ms962 µs1.48 ms731
Compilé97.3 µs92.4 µs10.7 µs19316
Node.js70.4 µs65.7 µs4.4 µs26716
BunIndisponible: unavailable
Array Includesn=10000

array-includes/array-includes?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur8.34 ms6.02 ms3.48 ms361
Compilé939 µs914 µs36.7 µs1602
Node.js687 µs650 µs35.4 µs2192
BunIndisponible: unavailable
Array Methodsn=1000

array-methods/array-methods?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur3.9 ms1.1 ms1.78 ms771
Compilé11.8 µs9.1 µs4.2 µs199128
Node.js5.6 µs4.6 µs5.3 µs212256
BunIndisponible: unavailable
Array Methodsn=10000

array-methods/array-methods?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur11.5 ms8.4 ms2.21 ms271
Compilé101 µs90.1 µs8.4 µs18516
Node.js50.9 µs44.6 µs5.8 µs18532
BunIndisponible: unavailable
Array Methodsn=100000

array-methods/array-methods?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur125 ms111 ms8.76 ms81
Compilé1.07 ms849 µs224 µs2811
Node.js2.21 ms1.87 ms425 µs1361
BunIndisponible: unavailable
Array Shift Drainn=1000

array-queue/array-shift-drain?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur75.6 ms33.4 ms68.3 ms81
Compilé38.7 µs26.7 µs11 µs24332
Node.js46.2 µs43.1 µs2.5 µs20332
BunIndisponible: unavailable
Array Shift Drainn=10000

array-queue/array-shift-drain?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur3.9 s3.9 s0 ns11
Compilé79.5 ms77.8 ms3.87 ms81
Node.js493 µs450 µs36.4 µs1534
BunIndisponible: unavailable
Array Unshift Buildn=1000

array-queue/array-unshift-build?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur34 ms33.3 ms509 µs91
Compilé39.6 µs34.8 µs7.9 µs23732
Node.js53.3 µs49.6 µs3 µs17632
BunIndisponible: unavailable
Array Unshift Buildn=10000

array-queue/array-unshift-build?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur3.89 s3.89 s0 ns11
Compilé4.12 ms3.9 ms186 µs731
Node.js4.28 ms4.13 ms123 µs711
BunIndisponible: unavailable
Async Function Callsn=10

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur21.1 µs11.4 µs8.6 µs44532
Compilé100 ns100 ns0 ns19816384
Node.js400 ns300 ns0 ns2034096
BunIndisponible: unavailable
Async Function Callsn=100

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur115 µs103 µs14.4 µs16316
Compilé100 ns100 ns0 ns2958192
Node.js2.8 µs2.3 µs3.6 µs207512
BunIndisponible: unavailable
Async Function Callsn=1000

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur1.17 ms1.02 ms267 µs2571
Compilé500 ns500 ns0 ns1554096
Node.js23.3 µs20.8 µs1.9 µs20264
BunIndisponible: unavailable
Async Resolved Awaitn=10

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur68.4 µs40 µs131 µs10974
Compilé400 ns100 ns300 ns1814096
Node.js400 ns300 ns0 ns1954096
BunIndisponible: unavailable
Async Resolved Awaitn=100

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur228 µs96.1 µs255 µs8616
Compilé100 ns100 ns0 ns3048192
Node.js2.6 µs2.4 µs200 ns223512
BunIndisponible: unavailable
Async Resolved Awaitn=1000

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur2.52 ms1.01 ms4.89 ms1191
Compilé500 ns500 ns0 ns1554096
Node.js24.6 µs21.6 µs2.1 µs19164
BunIndisponible: unavailable
Promise Alln=10

async-promises/promise-all?n=10

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur52 µs31.1 µs61.5 µs36516
Compilé400 ns300 ns100 ns3862048
Node.js400 ns400 ns0 ns1764096
BunIndisponible: unavailable
Promise Alln=100

async-promises/promise-all?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur457 µs236 µs1.01 ms3292
Compilé800 ns700 ns900 ns1752048
Node.js2.8 µs2.6 µs300 ns208512
BunIndisponible: unavailable
Promise Alln=1000

async-promises/promise-all?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur4.38 ms2.32 ms4.11 ms691
Compilé4.5 µs4.2 µs400 ns259256
Node.js28.3 µs24.6 µs2.2 µs16664
BunIndisponible: unavailable
Promise Then Chainn=10

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur23.7 µs14.7 µs13.4 µs19864
Compilé800 ns400 ns400 ns3891024
Node.js400 ns300 ns0 ns2084096
BunIndisponible: unavailable
Promise Then Chainn=100

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur182 µs125 µs135 µs2068
Compilé2.3 µs2.1 µs200 ns258512
Node.js2.4 µs2.2 µs200 ns244512
BunIndisponible: unavailable
Promise Then Chainn=1000

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur1.99 ms1.23 ms2.63 ms1511
Compilé18.6 µs17.3 µs1.2 µs25264
Node.js25.6 µs22.6 µs2.2 µs18364
BunIndisponible: unavailable
Binary Treesn=12

binary-trees/binary-trees?n=12

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur16 ms12.9 ms6.58 ms211
Compilé52.1 µs46.3 µs4.9 µs18032
Node.js63 µs55.2 µs6.4 µs14932
BunIndisponible: unavailable
Binary Treesn=16

binary-trees/binary-trees?n=16

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur265 ms233 ms24.5 ms81
Compilé1.26 ms739 µs960 µs2391
Node.js1.15 ms928 µs180 µs2621
BunIndisponible: unavailable
Binary Treesn=8

binary-trees/binary-trees?n=8

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur1.67 ms643 µs1.38 ms1801
Compilé4.1 µs2.9 µs1.1 µs288256
Node.js3.8 µs3.5 µs200 ns156512
BunIndisponible: unavailable
Brainfuckn=50

brainfuck/brainfuck?n=50

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur97.3 ms50.9 ms77.9 ms81
Compilé215 µs206 µs18.9 µs1758
Node.js260 µs233 µs16 µs1458
BunIndisponible: unavailable
Brainfuckn=500

brainfuck/brainfuck?n=500

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur502 ms493 ms7.87 ms51
Compilé2.05 ms2 ms77.5 µs1471
Node.js2.32 ms1.88 ms140 µs1301
BunIndisponible: unavailable
Brainfuckn=5000

brainfuck/brainfuck?n=5000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur4.98 s4.98 s0 ns11
Compilé20.7 ms20.5 ms169 µs151
Node.js23.4 ms22.2 ms465 µs131
BunIndisponible: unavailable
Class Constructionn=1000

classes/class-construction?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur1.93 ms1.19 ms1.23 ms1571
Compilé700 ns400 ns700 ns883512
Node.js400 ns400 ns0 ns1844096
BunIndisponible: unavailable
Class Constructionn=10000

classes/class-construction?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur26.4 ms21.8 ms2.21 ms121
Compilé4 µs3.9 µs100 ns295256
Node.js4.9 µs4.8 µs200 ns239256
BunIndisponible: unavailable
Class Constructionn=100000

classes/class-construction?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur418 ms301 ms79.9 ms61
Compilé39.2 µs38.6 µs1.1 µs23932
Node.js39.6 µs38.6 µs1.3 µs23732
BunIndisponible: unavailable
Class Field Reusen=1000

classes/class-field-reuse?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur1.12 ms519 µs986 µs2681
Compilé1.6 µs500 ns6.5 µs591932
Node.js400 ns400 ns0 ns1644096
BunIndisponible: unavailable
Class Field Reusen=10000

classes/class-field-reuse?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur6.63 ms5.1 ms1.22 ms461
Compilé4.7 µs4.2 µs300 ns249256
Node.js5.9 µs5.8 µs100 ns201256
BunIndisponible: unavailable
Class Field Reusen=100000

classes/class-field-reuse?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur64.4 ms62.9 ms1.83 ms81
Compilé47.7 µs45 µs1.5 µs19732
Node.js53.7 µs51.8 µs1.5 µs17532
BunIndisponible: unavailable
Class Method Inheritance Basen=1000

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur878 µs836 µs47.2 µs1712
Compilé900 ns500 ns2.1 µs2658128
Node.js400 ns400 ns0 ns1694096
BunIndisponible: unavailable
Class Method Inheritance Basen=10000

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur10.4 ms8.47 ms1.01 ms291
Compilé4.8 µs4.6 µs700 ns242256
Node.js5.9 µs5.8 µs200 ns200256
BunIndisponible: unavailable
Class Method Inheritance Basen=100000

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur101 ms98.6 ms1.12 ms81
Compilé48.2 µs45.2 µs1.3 µs19532
Node.js62.9 µs51.6 µs21.7 µs29916
BunIndisponible: unavailable
Class Method Inheritedn=1000

classes/class-method-inherited?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur893 µs778 µs63.3 µs1682
Compilé800 ns500 ns1.7 µs2839128
Node.js1 µs1 µs0 ns2841024
BunIndisponible: unavailable
Class Method Inheritedn=10000

classes/class-method-inherited?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur10.6 ms8.63 ms959 µs291
Compilé4.8 µs4.6 µs200 ns246256
Node.js10.9 µs10.4 µs300 ns216128
BunIndisponible: unavailable
Class Method Inheritedn=100000

classes/class-method-inherited?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur102 ms101 ms759 µs81
Compilé48 µs46 µs1.4 µs19632
Node.js114 µs107 µs2.9 µs16616
BunIndisponible: unavailable
Class Method Overriden=1000

classes/class-method-override?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur900 µs848 µs54.8 µs1672
Compilé900 ns500 ns2.2 µs2482128
Node.js1 µs1 µs0 ns2821024
BunIndisponible: unavailable
Class Method Overriden=10000

classes/class-method-override?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur10.7 ms8.72 ms883 µs281
Compilé4.8 µs4.6 µs200 ns243256
Node.js11 µs10.4 µs300 ns214128
BunIndisponible: unavailable
Class Method Overriden=100000

classes/class-method-override?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur102 ms101 ms1.42 ms81
Compilé48.2 µs45.6 µs1.1 µs19532
Node.js117 µs107 µs32.7 µs16116
BunIndisponible: unavailable
Class Method Reusen=1000

classes/class-method-reuse?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur913 µs839 µs56.6 µs1652
Compilé600 ns500 ns1.2 µs3694128
Node.js400 ns400 ns200 ns1634096
BunIndisponible: unavailable
Class Method Reusen=10000

classes/class-method-reuse?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur10.5 ms8.54 ms1.05 ms291
Compilé4.7 µs4.3 µs200 ns252256
Node.js5.9 µs5.8 µs200 ns199256
BunIndisponible: unavailable
Class Method Reusen=100000

classes/class-method-reuse?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur101 ms99.3 ms1.54 ms81
Compilé48 µs45.5 µs1.5 µs19632
Node.js72 µs51.4 µs27.6 µs26116
BunIndisponible: unavailable
Class Method Supern=1000

classes/class-method-super?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur1.73 ms1.44 ms1.84 ms1741
Compilé800 ns500 ns1.8 µs2965128
Node.js1 µs1 µs0 ns2861024
BunIndisponible: unavailable
Class Method Supern=10000

classes/class-method-super?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur18.4 ms17.7 ms495 µs171
Compilé4.6 µs4.1 µs300 ns254256
Node.js10.7 µs10.4 µs300 ns219128
BunIndisponible: unavailable
Class Method Supern=100000

classes/class-method-super?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur188 ms181 ms10.6 ms81
Compilé47.6 µs45.1 µs1.6 µs19732
Node.js113 µs108 µs2.9 µs16616
BunIndisponible: unavailable
Closuresn=1000

closures/closures?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur1.35 ms565 µs1.79 ms2231
Compilé3.2 µs1.5 µs2.1 µs365256
Node.js7.9 µs7.2 µs800 ns149256
BunIndisponible: unavailable
Closuresn=10000

closures/closures?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur5.94 ms5.64 ms213 µs511
Compilé16 µs14.5 µs5.7 µs147128
Node.js74 µs69 µs7.2 µs25416
BunIndisponible: unavailable
Closuresn=100000

closures/closures?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur59.5 ms58.6 ms1.27 ms81
Compilé153 µs144 µs8.8 µs2468
Node.js747 µs604 µs708 µs2012
BunIndisponible: unavailable
Count Primesn=1000

count-primes/count-primes?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur6.05 ms2.71 ms2.07 ms501
Compilé2.6 µs1.3 µs1.4 µs454256
Node.js3.1 µs2.9 µs200 ns191512
BunIndisponible: unavailable
Count Primesn=10000

count-primes/count-primes?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur18.1 ms15 ms3.34 ms171
Compilé13.6 µs12.9 µs600 ns172128
Node.js36.3 µs34.4 µs2.5 µs25932
BunIndisponible: unavailable
Count Primesn=100000

count-primes/count-primes?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur204 ms194 ms9.44 ms81
Compilé243 µs223 µs20.5 µs1558
Node.js891 µs727 µs250 µs3371
BunIndisponible: unavailable
Custom Iterator Dynamic Controln=10000

custom-iterator-dynamic-control/custom-iterator-dynamic-control?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur38.7 ms36.3 ms5.05 ms81
Compilé5.73 ms4.74 ms1.38 ms531
Node.js28.1 µs25.5 µs3.1 µs16764
BunIndisponible: unavailable
Custom Iterator Dynamic Controln=100000

custom-iterator-dynamic-control/custom-iterator-dynamic-control?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur106 ms84.1 ms37.7 ms81
Compilé11.7 ms11.4 ms239 µs261
Node.js270 µs243 µs34.3 µs2784
BunIndisponible: unavailable
Custom Iteratorn=10000

custom-iterator/custom-iterator?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur39.4 ms36.8 ms6.01 ms81
Compilé35.1 µs33.2 µs3.4 µs26732
Node.js27.9 µs25.4 µs5.7 µs16864
BunIndisponible: unavailable
Custom Iteratorn=100000

custom-iterator/custom-iterator?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur113 ms85.8 ms61 ms81
Compilé187 µs179 µs27.7 µs2018
Node.js262 µs245 µs23.8 µs2874
BunIndisponible: unavailable
Date Numericn=100

date-numeric/date-numeric?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur134 µs50.1 µs152 µs5594
Compilé1.6 µs400 ns1.9 µs1821024
Node.js1.1 µs1 µs100 ns2571024
BunIndisponible: unavailable
Date Numericn=10000

date-numeric/date-numeric?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur5.04 ms4.78 ms189 µs601
Compilé43 µs41.9 µs1.3 µs21932
Node.js106 µs96.8 µs6.5 µs17816
BunIndisponible: unavailable
Date Numericn=100000

date-numeric/date-numeric?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur50.1 ms49.1 ms909 µs81
Compilé432 µs420 µs17.2 µs1744
Node.js1.14 ms980 µs164 µs2641
BunIndisponible: unavailable
Error Construct No Stackn=100000

exceptions/error-construct-no-stack?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur29.1 ms26.8 ms4.41 ms111
Compilé163 µs145 µs93.3 µs2318
Node.js337 µs312 µs24.7 µs2234
BunIndisponible: unavailable
Error First Stack Readn=100000

exceptions/error-first-stack-read?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur26.9 ms26.3 ms358 µs121
Compilé185 µs146 µs214 µs2038
Node.js796 µs750 µs45.9 µs1892
BunIndisponible: unavailable
Error Repeated Stack Readn=100000

exceptions/error-repeated-stack-read?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur27.1 ms26.3 ms469 µs121
Compilé194 µs147 µs207 µs1948
Node.js802 µs748 µs56.7 µs1882
BunIndisponible: unavailable
Throw Branch Controln=100000

exceptions/throw-branch-control?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur68.3 ms36.8 ms57.1 ms81
Compilé144 µs136 µs8.8 µs2618
Node.js43.9 µs39.3 µs7.9 µs21432
BunIndisponible: unavailable
Throw Errorn=100000

exceptions/throw-error?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur37.7 ms37 ms860 µs81
Compilé191 µs164 µs74 µs1978
Node.js408 µs348 µs33.6 µs1844
BunIndisponible: unavailable
Throw Primitiven=100000

exceptions/throw-primitive?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur37.5 ms36.8 ms798 µs81
Compilé163 µs155 µs13.9 µs2308
Node.js69.4 µs57.2 µs12 µs5418
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éteur41.7 ms40.9 ms523 µs81
Compilé142 µs136 µs8.7 µs2658
Node.js44.3 µs39.3 µs8.7 µs42416
BunIndisponible: unavailable
Factorialn=100

factorial/factorial?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur52.6 µs23.7 µs50.3 µs7138
Compilé200 ns100 ns200 ns6002048
Node.js100 ns0 ns0 ns35816384
BunIndisponible: unavailable
Factorialn=1000

factorial/factorial?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur267 µs237 µs23.2 µs2814
Compilé900 ns800 ns300 ns1692048
Node.js800 ns700 ns0 ns1902048
BunIndisponible: unavailable
Factorialn=10000

factorial/factorial?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur2.49 ms2.36 ms113 µs1211
Compilé7.9 µs7.8 µs400 ns296128
Node.js7.8 µs7.7 µs300 ns300128
BunIndisponible: unavailable
Fibonaccin=10

fibonacci/fibonacci?n=10

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur130 µs53.3 µs129 µs23161
Compilé300 ns200 ns200 ns4202048
Node.js300 ns300 ns0 ns2144096
BunIndisponible: unavailable
Fibonaccin=20

fibonacci/fibonacci?n=20

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur6.84 ms6.48 ms207 µs441
Compilé19.3 µs18.7 µs1.2 µs24464
Node.js43.1 µs41.2 µs4.3 µs21832
BunIndisponible: unavailable
Fibonaccin=30

fibonacci/fibonacci?n=30

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur847 ms837 ms17.3 ms31
Compilé2.35 ms2.29 ms91 µs1281
Node.js5.18 ms5.05 ms136 µs581
BunIndisponible: unavailable
Fibonaccin=35

fibonacci/fibonacci?n=35

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur9.39 s9.39 s0 ns11
Compilé26.1 ms25.7 ms251 µs121
Node.js57.8 ms57.4 ms299 µs81
BunIndisponible: unavailable
Accumulaten=1000

int-arrays/accumulate?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur2.87 ms2.2 ms558 µs1051
Compilé4.1 µs3.3 µs1.1 µs284256
Node.js6.1 µs4.6 µs600 ns191256
BunIndisponible: unavailable
Accumulaten=100000

int-arrays/accumulate?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur235 ms230 ms8.97 ms81
Compilé487 µs461 µs26.8 µs1544
Node.js667 µs571 µs236 µs2252
BunIndisponible: unavailable
Accumulaten=1000000

int-arrays/accumulate?n=1000000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur2.38 s2.38 s0 ns11
Compilé3.67 ms3.25 ms335 µs821
Node.js4.78 ms4.53 ms253 µs631
BunIndisponible: unavailable
Int32 Kerneln=1000

int-arrays/int32-kernel?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur2.68 ms990 µs1.8 ms1121
Compilé3.3 µs1.9 µs1.4 µs361256
Node.js3.1 µs2.6 µs200 ns190512
BunIndisponible: unavailable
Int32 Kerneln=100000

int-arrays/int32-kernel?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur98.7 ms97.5 ms1.4 ms81
Compilé261 µs208 µs45.7 µs2884
Node.js301 µs260 µs90.7 µs2504
BunIndisponible: unavailable
Int32 Kerneln=1000000

int-arrays/int32-kernel?n=1000000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur988 ms978 ms14.8 ms31
Compilé1.98 ms1.79 ms152 µs1521
Node.js2.41 ms2.27 ms185 µs1251
BunIndisponible: unavailable
Jsonn=100

json/json?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur994 µs694 µs315 µs1522
Compilé12 µs7.2 µs5.6 µs195128
Node.js23.5 µs22.3 µs1.1 µs20064
BunIndisponible: unavailable
Jsonn=1000

json/json?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur4.19 ms1.84 ms3.64 ms721
Compilé80 µs67.3 µs10.8 µs23516
Node.js223 µs205 µs13.8 µs1698
BunIndisponible: unavailable
Jsonn=10000

json/json?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur36.1 ms27.4 ms9.94 ms91
Compilé3.92 ms749 µs2.82 ms392
Node.js2.46 ms2.17 ms259 µs1221
BunIndisponible: unavailable
Flattened Rest Controln=1000

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur335 µs288 µs397 µs2244
Compilé2.2 µs1.5 µs1.1 µs545256
Node.js400 ns400 ns0 ns1824096
BunIndisponible: unavailable
Flattened Rest Controln=10000

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur3.09 ms2.84 ms125 µs981
Compilé15.7 µs15.4 µs500 ns150128
Node.js5.9 µs5.8 µs200 ns199256
BunIndisponible: unavailable
Flattened Rest Controln=100000

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur30.9 ms30.4 ms303 µs101
Compilé158 µs154 µs8.3 µs2388
Node.js161 µs154 µs9.9 µs2348
BunIndisponible: unavailable
Format Fixedn=1000

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur766 µs682 µs63.5 µs1962
Compilé103 µs39.3 µs81.4 µs3658
Node.js80.5 µs75.7 µs3.9 µs23416
BunIndisponible: unavailable
Format Fixedn=10000

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur7.33 ms6.9 ms184 µs411
Compilé428 µs401 µs23.6 µs1764
Node.js816 µs778 µs36.5 µs1842
BunIndisponible: unavailable
Format Fixedn=100000

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur74.9 ms73.4 ms1.13 ms81
Compilé4.33 ms4.12 ms163 µs701
Node.js8.62 ms8.27 ms184 µs351
BunIndisponible: unavailable
Generator Rangen=1000

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur1.36 ms1.21 ms99.5 µs2221
Compilé3.1 µs1.9 µs4.7 µs152264
Node.js8.6 µs8 µs500 ns272128
BunIndisponible: unavailable
Generator Rangen=10000

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur11.7 ms10.8 ms459 µs261
Compilé18.9 µs18.4 µs1.1 µs24964
Node.js80.1 µs75.2 µs4.2 µs23516
BunIndisponible: unavailable
Generator Rangen=100000

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur121 ms115 ms8.12 ms81
Compilé189 µs183 µs23.2 µs1998
Node.js846 µs763 µs48.7 µs1782
BunIndisponible: unavailable
Numeric Assignment Controln=1000

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur243 µs227 µs14 µs1558
Compilé500 ns400 ns600 ns1098512
Node.js300 ns300 ns0 ns2114096
BunIndisponible: unavailable
Numeric Assignment Controln=10000

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur2.39 ms2.25 ms105 µs1261
Compilé4 µs3.9 µs200 ns296256
Node.js4.9 µs4.8 µs200 ns238256
BunIndisponible: unavailable
Numeric Assignment Controln=100000

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur24.1 ms23.7 ms632 µs131
Compilé39.4 µs38.6 µs1.6 µs23932
Node.js41 µs38.7 µs9.7 µs22932
BunIndisponible: unavailable
Numeric Compoundn=1000

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur738 µs313 µs632 µs4071
Compilé900 ns400 ns1.1 µs672512
Node.js300 ns300 ns0 ns2214096
BunIndisponible: unavailable
Numeric Compoundn=10000

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur3.29 ms3.16 ms70.1 µs921
Compilé3.9 µs3.9 µs200 ns297256
Node.js5 µs4.8 µs200 ns236256
BunIndisponible: unavailable
Numeric Compoundn=100000

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur32.4 ms31.6 ms360 µs101
Compilé41.4 µs38.5 µs30.7 µs22932
Node.js40 µs38.6 µs1.8 µs23532
BunIndisponible: unavailable
Parse Integersn=1000

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur680 µs576 µs140 µs2212
Compilé600 ns400 ns700 ns961512
Node.js4.5 µs4.4 µs300 ns260256
BunIndisponible: unavailable
Parse Integersn=10000

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur6.32 ms5.85 ms183 µs481
Compilé3.9 µs3.9 µs100 ns149512
Node.js45.3 µs43.6 µs2.5 µs20732
BunIndisponible: unavailable
Parse Integersn=100000

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur63.2 ms62.2 ms626 µs81
Compilé39.3 µs38.6 µs1.5 µs23932
Node.js1.2 ms1.07 ms155 µs2511
BunIndisponible: unavailable
Stable Numeric Restn=1000

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur881 µs830 µs49.3 µs1712
Compilé900 ns600 ns900 ns665512
Node.js400 ns400 ns0 ns1834096
BunIndisponible: unavailable
Stable Numeric Restn=10000

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur8.77 ms8.44 ms227 µs351
Compilé5.5 µs5.4 µs200 ns212256
Node.js5.9 µs5.8 µs200 ns199256
BunIndisponible: unavailable
Stable Numeric Restn=100000

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

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur87.6 ms87.1 ms684 µs81
Compilé55.1 µs53.9 µs2.1 µs17132
Node.js50.3 µs48.3 µs2.1 µs18732
BunIndisponible: unavailable
Map Iterationn=100

map-set/map-iteration?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur106 µs65.2 µs89.7 µs14212
Compilé700 ns400 ns500 ns846512
Node.js1.7 µs1.6 µs100 ns1731024
BunIndisponible: unavailable
Map Iterationn=1000

map-set/map-iteration?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur715 µs636 µs109 µs2102
Compilé4.1 µs3.8 µs200 ns144512
Node.js15.8 µs13.3 µs14.2 µs149128
BunIndisponible: unavailable
Map Iterationn=10000

map-set/map-iteration?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur11 ms8.22 ms4.14 ms281
Compilé99.1 µs86.8 µs13.3 µs19016
Node.js435 µs374 µs78.3 µs1734
BunIndisponible: unavailable
Map Operationsn=100

map-set/map-operations?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur945 µs699 µs754 µs1592
Compilé3.3 µs1.4 µs3.6 µs702128
Node.js1.9 µs1.8 µs100 ns1551024
BunIndisponible: unavailable
Map Operationsn=1000

map-set/map-operations?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur1.45 ms1.3 ms186 µs2071
Compilé14.6 µs13.6 µs1.1 µs161128
Node.js17.9 µs15.9 µs2 µs26364
BunIndisponible: unavailable
Map Operationsn=10000

map-set/map-operations?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur16.9 ms15.5 ms635 µs181
Compilé303 µs158 µs111 µs1258
Node.js566 µs458 µs784 µs5301
BunIndisponible: unavailable
Set Iterationn=100

map-set/set-iteration?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur62.6 µs55.2 µs6.5 µs15032
Compilé2.6 µs1.8 µs1.3 µs449256
Node.js1.2 µs1.2 µs100 ns2361024
BunIndisponible: unavailable
Set Iterationn=1000

map-set/set-iteration?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur575 µs511 µs91.2 µs2612
Compilé19.4 µs16.4 µs21.3 µs24264
Node.js10.8 µs9.6 µs900 ns217128
BunIndisponible: unavailable
Set Iterationn=10000

map-set/set-iteration?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur8.62 ms5.9 ms4.02 ms351
Compilé314 µs189 µs84.5 µs2394
Node.js343 µs296 µs83 µs2194
BunIndisponible: unavailable
Set Operationsn=100

map-set/set-operations?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur121 µs111 µs10.2 µs15516
Compilé2.9 µs1.7 µs2.1 µs399256
Node.js1.7 µs1.6 µs100 ns1781024
BunIndisponible: unavailable
Set Operationsn=1000

map-set/set-operations?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur1.17 ms1.06 ms162 µs2581
Compilé19.7 µs17.1 µs2 µs23864
Node.js17.7 µs15.2 µs2 µs26564
BunIndisponible: unavailable
Set Operationsn=10000

map-set/set-operations?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur14 ms11.5 ms4.33 ms221
Compilé425 µs222 µs478 µs7061
Node.js482 µs432 µs79.1 µs1564
BunIndisponible: unavailable
Math Max Onen=100Indisponible

math-min-max/math-max-one?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur35.3 µs32.3 µs2.8 µs26632
Compilé100 ns100 ns100 ns4238192
Node.js0 ns0 ns0 ns20632768
BunIndisponible: unavailable
Math Max Onen=10000

math-min-max/math-max-one?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur3.28 ms3.12 ms149 µs921
Compilé3.9 µs3.9 µs100 ns149512
Node.js4.9 µs4.8 µs100 ns239256
BunIndisponible: unavailable
Math Max Onen=100000

math-min-max/math-max-one?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur33 ms32.4 ms512 µs101
Compilé39.2 µs38.6 µs1.2 µs24032
Node.js49 µs48.2 µs1.6 µs19232
BunIndisponible: unavailable
Math Max Severaln=100Indisponible

math-min-max/math-max-several?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur44 µs40.7 µs2.6 µs21332
Compilé400 ns300 ns200 ns4062048
Node.js0 ns0 ns0 ns21032768
BunIndisponible: unavailable
Math Max Severaln=10000

math-min-max/math-max-several?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur4.08 ms3.9 ms114 µs741
Compilé24.9 µs24.4 µs800 ns18964
Node.js4.9 µs4.8 µs200 ns238256
BunIndisponible: unavailable
Math Max Severaln=100000

math-min-max/math-max-several?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur41.1 ms40.4 ms733 µs81
Compilé248 µs244 µs9 µs3034
Node.js49.1 µs48.2 µs1.5 µs19232
BunIndisponible: unavailable
Math Max Spreadn=100

math-min-max/math-max-spread?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur51.3 µs46.3 µs4.4 µs18332
Compilé6.2 µs4.1 µs3.4 µs377128
Node.js1.4 µs1.4 µs100 ns2051024
BunIndisponible: unavailable
Math Max Spreadn=10000

math-min-max/math-max-spread?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur4.76 ms4.51 ms203 µs631
Compilé451 µs417 µs22.1 µs1674
Node.js145 µs135 µs8.3 µs2608
BunIndisponible: unavailable
Math Max Spreadn=100000

math-min-max/math-max-spread?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur51.2 ms47.3 ms9.54 ms81
Compilé4.5 ms4.27 ms212 µs671
Node.js1.46 ms1.35 ms71.1 µs2061
BunIndisponible: unavailable
Math Min Dynamicn=100Indisponible

math-min-max/math-min-dynamic?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur37.9 µs35.8 µs2.8 µs24832
Compilé1.5 µs900 ns1.9 µs1530128
Node.js0 ns0 ns0 ns21032768
BunIndisponible: unavailable
Math Min Dynamicn=10000

math-min-max/math-min-dynamic?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur3.65 ms3.46 ms158 µs831
Compilé97.1 µs90.1 µs5.3 µs19416
Node.js4.9 µs4.8 µs200 ns239256
BunIndisponible: unavailable
Math Min Dynamicn=100000

math-min-max/math-min-dynamic?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur36.5 ms35.8 ms472 µs91
Compilé977 µs895 µs47.5 µs1542
Node.js51.3 µs48.2 µs14.7 µs18332
BunIndisponible: unavailable
Math Min Twon=100

math-min-max/math-min-two?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur42.4 µs40.3 µs2.6 µs22132
Compilé300 ns200 ns100 ns2714096
Node.js100 ns100 ns0 ns2968192
BunIndisponible: unavailable
Math Min Twon=10000

math-min-max/math-min-two?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur4.16 ms3.96 ms125 µs731
Compilé20.3 µs19.1 µs7.6 µs23164
Node.js15.2 µs14.9 µs500 ns154128
BunIndisponible: unavailable
Math Min Twon=100000

math-min-max/math-min-two?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur41.4 ms41 ms287 µs81
Compilé196 µs191 µs7.8 µs1928
Node.js152 µs149 µs5.3 µs2478
BunIndisponible: unavailable
Math Min Zeron=100Indisponible

math-min-max/math-min-zero?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur72.9 µs27.9 µs90.8 µs5158
Compilé100 ns100 ns100 ns6394096
Node.js0 ns0 ns0 ns28032768
BunIndisponible: unavailable
Math Min Zeron=10000

math-min-max/math-min-zero?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur2.76 ms2.61 ms137 µs1091
Compilé3.5 µs3 µs200 ns169512
Node.js3.9 µs3.9 µs200 ns297256
BunIndisponible: unavailable
Math Min Zeron=100000

math-min-max/math-min-zero?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur27.2 ms26.9 ms333 µs121
Compilé33.1 µs29.4 µs2.9 µs28432
Node.js39.2 µs38.5 µs1.3 µs23932
BunIndisponible: unavailable
Num Pushn=1000

num-arrays/num-push?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur1.16 ms728 µs775 µs2581
Compilé4.6 µs3 µs4.6 µs100964
Node.js2.6 µs2.2 µs200 ns230512
BunIndisponible: unavailable
Num Pushn=100000

num-arrays/num-push?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur95.1 ms90.5 ms11 ms81
Compilé757 µs709 µs48 µs1992
Node.js730 µs586 µs162 µs2062
BunIndisponible: unavailable
Num Pushn=1000000

num-arrays/num-push?n=1000000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur943 ms936 ms6.36 ms31
Compilé5.05 ms3.69 ms1.37 ms601
Node.js9.77 ms8.2 ms1.74 ms311
BunIndisponible: unavailable
Num Writen=1000

num-arrays/num-write?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur2.64 ms744 µs1.29 ms1141
Compilé26.6 µs23.6 µs4.7 µs17664
Node.js2.6 µs2.4 µs200 ns223512
BunIndisponible: unavailable
Num Writen=100000

num-arrays/num-write?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur80.4 ms73.4 ms11.9 ms81
Compilé805 µs747 µs55.3 µs1872
Node.js738 µs594 µs166 µs2042
BunIndisponible: unavailable
Num Writen=1000000

num-arrays/num-write?n=1000000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur818 ms780 ms49.4 ms31
Compilé5.41 ms4.28 ms1.43 ms561
Node.js9.54 ms8.33 ms1.55 ms321
BunIndisponible: unavailable
Object Destructuren=10000

object-destructure/object-destructure?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur22 ms9.92 ms5.9 ms141
Compilé82.9 µs42.4 µs123 µs9054
Node.js3.1 µs2.9 µs100 ns187512
BunIndisponible: unavailable
Object Destructuren=100000

object-destructure/object-destructure?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur50.6 ms50.1 ms516 µs81
Compilé455 µs425 µs14.6 µs1664
Node.js48.9 µs48.2 µs1.3 µs19232
BunIndisponible: unavailable
Object Keys Accessorn=10000

object-keys/object-keys-accessor?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur7.02 ms6.61 ms287 µs431
Compilé798 µs754 µs41.4 µs1892
Node.js684 µs642 µs31.4 µs2202
BunIndisponible: unavailable
Object Keys Accessorn=100000

object-keys/object-keys-accessor?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur95.7 ms92.8 ms2.23 ms81
Compilé6.51 ms6.24 ms165 µs471
Node.js6.81 ms6.59 ms147 µs451
BunIndisponible: unavailable
Object Keys Exactn=10000

object-keys/object-keys-exact?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur38.1 ms24.3 ms6.25 ms81
Compilé1.55 ms373 µs426 µs1941
Node.js58.4 µs55.5 µs3.1 µs16132
BunIndisponible: unavailable
Object Keys Exactn=100000

object-keys/object-keys-exact?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur70.4 ms69.2 ms714 µs81
Compilé3.43 ms3.23 ms119 µs881
Node.js494 µs462 µs32 µs3042
BunIndisponible: unavailable
Object Keys Mutatedn=10000

object-keys/object-keys-mutated?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur7.79 ms6.82 ms3.63 ms391
Compilé343 µs277 µs54.4 µs2194
Node.js46.2 µs43.4 µs2.9 µs20332
BunIndisponible: unavailable
Object Keys Mutatedn=100000

object-keys/object-keys-mutated?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur98.3 ms95.5 ms2.24 ms81
Compilé3.24 ms2.73 ms2.75 ms931
Node.js457 µs434 µs21 µs1654
BunIndisponible: unavailable
Object Keys Numericn=10000

object-keys/object-keys-numeric?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur19.1 ms14.4 ms4.99 ms161
Compilé1.78 ms1.29 ms684 µs1691
Node.js1.75 ms1.65 ms98.4 µs1721
BunIndisponible: unavailable
Object Keys Numericn=100000

object-keys/object-keys-numeric?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur272 ms180 ms76.6 ms81
Compilé13.8 ms13.4 ms263 µs221
Node.js17.5 ms17.2 ms284 µs181
BunIndisponible: unavailable
Object Keys Proxyn=10000

object-keys/object-keys-proxy?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur39.1 ms29.7 ms8.06 ms81
Compilé32.2 ms31.7 ms374 µs101
Node.js8.29 ms8 ms176 µs371
BunIndisponible: unavailable
Object Keys Proxyn=100000

object-keys/object-keys-proxy?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur449 ms441 ms11.2 ms51
Compilé157 ms142 ms40.7 ms81
Node.js82.4 ms81.9 ms315 µs81
BunIndisponible: unavailable
Object Spread Escapen=10000

object-spread/object-spread-escape?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur17.8 ms16.5 ms2.11 ms171
Compilé15.2 ms5.9 ms10.6 ms201
Node.js93 µs85 µs6.7 µs20216
BunIndisponible: unavailable
Object Spread Escapen=100000

object-spread/object-spread-escape?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur168 ms168 ms555 µs81
Compilé123 ms84.6 ms21.8 ms81
Node.js935 µs892 µs45.2 µs1612
BunIndisponible: unavailable
Object Spread Onen=10000

object-spread/object-spread-one?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur47.5 ms19.8 ms19.7 ms81
Compilé9.8 µs7.7 µs3.1 µs240128
Node.js103 µs94.7 µs7.1 µs18216
BunIndisponible: unavailable
Object Spread Onen=100000

object-spread/object-spread-one?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur92.8 ms89.5 ms8.33 ms81
Compilé78.5 µs77.1 µs3.1 µs23916
Node.js884 µs838 µs47.4 µs1702
BunIndisponible: unavailable
Object Spread Overwriten=10000

object-spread/object-spread-overwrite?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur16.1 ms14.8 ms2.2 ms191
Compilé17 µs15.4 µs1.9 µs27664
Node.js354 µs326 µs20.5 µs2134
BunIndisponible: unavailable
Object Spread Overwriten=100000

object-spread/object-spread-overwrite?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur153 ms151 ms1.44 ms81
Compilé157 µs154 µs6 µs2398
Node.js3.53 ms3.37 ms185 µs851
BunIndisponible: unavailable
Objectsn=1000

objects/objects?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur1.88 ms516 µs908 µs1601
Compilé1.7 µs800 ns1.4 µs349512
Node.js600 ns600 ns0 ns2432048
BunIndisponible: unavailable
Objectsn=10000

objects/objects?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur5.16 ms4.85 ms165 µs591
Compilé8 µs7.8 µs300 ns147256
Node.js8 µs7.7 µs400 ns148256
BunIndisponible: unavailable
Objectsn=100000

objects/objects?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur51.4 ms50.8 ms584 µs81
Compilé79.3 µs77.1 µs3.6 µs23716
Node.js85.4 µs77.1 µs92.2 µs22016
BunIndisponible: unavailable
Regex Replacen=100

regex-replace/regex-replace?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur899 µs454 µs957 µs1672
Compilé17.6 µs8.5 µs12.8 µs26664
Node.js10.8 µs10 µs700 ns218128
BunIndisponible: unavailable
Regex Replacen=10000

regex-replace/regex-replace?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur27.9 ms21.9 ms3.19 ms111
Compilé894 µs841 µs50.6 µs1682
Node.js1.07 ms1 ms75.7 µs2801
BunIndisponible: unavailable
Regex Replacen=100000

regex-replace/regex-replace?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur415 ms346 ms70.7 ms51
Compilé8.87 ms8.56 ms173 µs341
Node.js10.5 ms10.1 ms335 µs291
BunIndisponible: unavailable
Regex Validatorn=100

regex-validator/regex-validator?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur481 µs164 µs362 µs3122
Compilé4.4 µs2.5 µs2.5 µs269256
Node.js1.5 µs1.4 µs100 ns1941024
BunIndisponible: unavailable
Regex Validatorn=10000

regex-validator/regex-validator?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur23.8 ms16.1 ms7.34 ms131
Compilé258 µs242 µs17 µs2914
Node.js155 µs141 µs7.4 µs2428
BunIndisponible: unavailable
Regex Validatorn=100000

regex-validator/regex-validator?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur364 ms214 ms98.6 ms61
Compilé2.57 ms2.44 ms103 µs1171
Node.js1.54 ms1.45 ms74.5 µs1951
BunIndisponible: unavailable
Regexn=100

regex/regex?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur104 µs39.5 µs108 µs7224
Compilé98.8 µs49.7 µs113 µs30371
Node.js18.1 µs16.5 µs1.1 µs25964
BunIndisponible: unavailable
Regexn=1000

regex/regex?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur310 µs270 µs32.6 µs2424
Compilé340 µs267 µs53.1 µs2214
Node.js197 µs177 µs18.2 µs1918
BunIndisponible: unavailable
Regexn=10000

regex/regex?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur3.21 ms2.65 ms1.67 ms941
Compilé2.81 ms2.54 ms247 µs1071
Node.js2.57 ms1.88 ms785 µs1171
BunIndisponible: unavailable
Sortn=100

sort/sort?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur298 µs83 µs168 µs2524
Compilé56.8 µs52 µs10 µs16632
Node.js9.2 µs8.6 µs700 ns254128
BunIndisponible: unavailable
Sortn=1000

sort/sort?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur707 µs566 µs83.5 µs2132
Compilé246 µs155 µs160 µs3054
Node.js237 µs205 µs122 µs1598
BunIndisponible: unavailable
Sortn=10000

sort/sort?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur15.3 ms9.66 ms5.49 ms201
Compilé2.32 ms2.09 ms399 µs1301
Node.js3 ms2.82 ms126 µs1011
BunIndisponible: unavailable
String Includesn=100

string-intrinsics/string-includes?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur67.9 µs62.1 µs5.4 µs27616
Compilé1.5 µs1.2 µs300 ns389512
Node.js1.7 µs1.6 µs100 ns355512
BunIndisponible: unavailable
String Includesn=10000

string-intrinsics/string-includes?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur6.45 ms6.2 ms162 µs471
Compilé127 µs117 µs5.1 µs14916
Node.js161 µs157 µs5.7 µs2348
BunIndisponible: unavailable
String Includesn=100000

string-intrinsics/string-includes?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur64.7 ms64 ms490 µs81
Compilé1.28 ms1.19 ms74.3 µs2361
Node.js1.62 ms1.58 ms80.6 µs1861
BunIndisponible: unavailable
String Indexofn=100

string-intrinsics/string-indexof?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur205 µs64 µs191 µs3664
Compilé2.3 µs1.2 µs2.2 µs499256
Node.js1.7 µs1.6 µs100 ns1771024
BunIndisponible: unavailable
String Indexofn=10000

string-intrinsics/string-indexof?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur6.47 ms6.22 ms207 µs471
Compilé125 µs117 µs5.6 µs15016
Node.js162 µs159 µs4.6 µs2328
BunIndisponible: unavailable
String Indexofn=100000

string-intrinsics/string-indexof?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur64.6 ms63.6 ms859 µs81
Compilé1.24 ms1.15 ms67.9 µs2421
Node.js1.61 ms1.58 ms58 µs1861
BunIndisponible: unavailable
String Slicen=100

string-intrinsics/string-slice?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur74.5 µs70.1 µs5.3 µs25216
Compilé2.5 µs2 µs600 ns236512
Node.js300 ns300 ns0 ns2374096
BunIndisponible: unavailable
String Slicen=10000

string-intrinsics/string-slice?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur7.24 ms6.96 ms195 µs421
Compilé207 µs193 µs11.3 µs1828
Node.js41.4 µs38.8 µs2.2 µs22732
BunIndisponible: unavailable
String Slicen=100000

string-intrinsics/string-slice?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur71.9 ms71.2 ms753 µs81
Compilé2.05 ms1.95 ms63.4 µs1471
Node.js416 µs389 µs25.5 µs1814
BunIndisponible: unavailable
String Substringn=100

string-intrinsics/string-substring?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur73.7 µs70.2 µs4.4 µs25516
Compilé2.2 µs1.8 µs400 ns265512
Node.js300 ns300 ns0 ns2204096
BunIndisponible: unavailable
String Substringn=10000

string-intrinsics/string-substring?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur7.23 ms6.98 ms133 µs421
Compilé195 µs180 µs11.3 µs1928
Node.js51.3 µs47.7 µs2.7 µs18332
BunIndisponible: unavailable
String Substringn=100000

string-intrinsics/string-substring?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur72.6 ms72.1 ms429 µs81
Compilé1.96 ms1.81 ms100 µs1541
Node.js523 µs488 µs34.8 µs2872
BunIndisponible: unavailable
Stringsn=100

strings/strings?n=100

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur330 µs124 µs298 µs4542
Compilé1 µs500 ns600 ns2871024
Node.js700 ns700 ns0 ns2022048
BunIndisponible: unavailable
Stringsn=1000

strings/strings?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur1.37 ms1.26 ms112 µs2201
Compilé4.9 µs4.3 µs5.1 µs250256
Node.js6.7 µs6 µs700 ns351128
BunIndisponible: unavailable
Stringsn=10000

strings/strings?n=10000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur20.9 ms20.4 ms264 µs151
Compilé45.2 µs42.6 µs2.9 µs20832
Node.js77.2 µs57.4 µs10.4 µs24316
BunIndisponible: unavailable
Typed Arraysn=1000

typed-arrays/typed-arrays?n=1000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur2.62 ms966 µs1.89 ms1151
Compilé3.5 µs2 µs1.5 µs337256
Node.js4 µs2.6 µs900 ns290256
BunIndisponible: unavailable
Typed Arraysn=100000

typed-arrays/typed-arrays?n=100000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur97.7 ms96.8 ms711 µs81
Compilé336 µs314 µs23.9 µs2244
Node.js411 µs336 µs293 µs7301
BunIndisponible: unavailable
Typed Arraysn=1000000

typed-arrays/typed-arrays?n=1000000

Mesures brutes

MoyenneMinimumÉcart typeÉchantillonsItérations internes
Interpréteur997 ms982 ms13.5 ms31
Compilé2.18 ms1.89 ms272 µs1381
Node.js3.2 ms2.75 ms2.45 ms941
BunIndisponible: unavailable

194 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 572a2e31be0e2a09be0138bc44501b34d6245b51 · compiled 572a2e31be0e2a09be0138bc44501b34d6245b51 · node v22.23.2
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 572a2e31be0e