From 4898f4e38ba7cbba63b96377e31fbedddb55a962 Mon Sep 17 00:00:00 2001 From: "Matthew \"strager\" Glazar" Date: Thu, 26 Oct 2023 21:23:32 -0400 Subject: [PATCH] feat(website): update benchmark results Re-run benchmarks and publish results to the website. --- .../full-change-wait-express-router-js.json | 106 ++++++++++-------- ...emental-change-wait-express-router-js.json | 104 +++++++++-------- ...al-change-wait-react-quickly-ch10-jsx.json | 96 ++++++++-------- website/public/benchmarks/index.ejs.html | 9 +- 4 files changed, 172 insertions(+), 143 deletions(-) diff --git a/website/public/benchmarks/full-change-wait-express-router-js.json b/website/public/benchmarks/full-change-wait-express-router-js.json index 46a52ea73b..ec365e46e3 100644 --- a/website/public/benchmarks/full-change-wait-express-router-js.json +++ b/website/public/benchmarks/full-change-wait-express-router-js.json @@ -5,7 +5,7 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.081235141900000002, 0.079754813999999993, 0.079091266600000001, 0.0817240152, 0.079301651700000003, 0.081251066400000002, 0.080536069299999999, 0.079472934100000003, 0.0807643943, 0.079288524100000007] + "durationPerIteration": [0.079610968199999993, 0.082592445799999997, 0.080329099200000004, 0.079241278400000004, 0.088232762200000009, 0.080804531099999993, 0.081289734700000005, 0.081507742800000005, 0.08275727590000001, 0.080558292000000004] } }, { @@ -13,7 +13,7 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.038716876099999999, 0.038568138799999999, 0.037869746199999998, 0.039114095599999996, 0.038862341000000002, 0.037502515100000001, 0.0386350648, 0.0379395524, 0.038644702699999998, 0.038633588000000003] + "durationPerIteration": [0.038075657499999999, 0.038122525499999997, 0.038419208199999999, 0.038175948700000004, 0.0385515502, 0.038829904200000001, 0.039214472399999999, 0.039098703499999998, 0.038927543199999998, 0.037653474899999997] } }, { @@ -21,7 +21,7 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.050848559000000002, 0.050023333500000003, 0.051320273600000001, 0.050697789800000004, 0.051351601999999996, 0.050541708900000003, 0.048952186100000003, 0.048873840000000002, 0.053814236599999996, 0.0533455335] + "durationPerIteration": [0.0477274117, 0.047489185900000001, 0.047882921600000003, 0.048593490599999997, 0.047747789200000001, 0.046736005800000001, 0.047929887500000004, 0.047676263099999998, 0.048342073100000001, 0.047470065900000004] } }, { @@ -29,7 +29,7 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.030186629399999998, 0.0305953419, 0.029708535299999998, 0.030383590999999998, 0.0302013808, 0.0292650715, 0.031107308900000002, 0.029937414200000002, 0.029720228500000001, 0.0298693282] + "durationPerIteration": [0.0298600716, 0.029873160500000003, 0.029763710199999998, 0.030223165899999998, 0.030306203799999997, 0.029763710700000001, 0.030751997599999997, 0.029548902500000002, 0.030936689400000002, 0.030553380499999998] } }, { @@ -37,7 +37,7 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.033457495900000002, 0.0340038602, 0.033954781699999999, 0.034117368699999998, 0.033525287199999997, 0.033785621299999999, 0.033035438799999997, 0.032719964800000001, 0.032872356499999998, 0.032717810999999999] + "durationPerIteration": [0.033744655599999999, 0.033247465500000004, 0.0329975276, 0.032870314999999997, 0.033753919700000003, 0.0339544507, 0.032103791300000004, 0.033301652000000001, 0.033120863600000001, 0.033326201300000004] } }, { @@ -45,7 +45,7 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.258849041, 0.25915074500000002, 0.2583835712, 0.25990978600000003, 0.25885255169999999, 0.2600132657, 0.25981336669999999, 0.25892458939999996, 0.25880275209999998, 0.25760798699999998] + "durationPerIteration": [0.25844970080000002, 0.25811604529999999, 0.25767981220000002, 0.25744736220000003, 0.25825842200000004, 0.25779952009999996, 0.25719545059999999, 0.25705252369999998, 0.25767423010000001, 0.25795146139999997] } }, { @@ -53,7 +53,7 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.25961686089999997, 0.25921899320000003, 0.25962364980000002, 0.25918260449999997, 0.258038033, 0.25839416850000002, 0.25844451460000001, 0.25932008670000001, 0.25886115639999996, 0.25921981440000003] + "durationPerIteration": [0.25835370829999998, 0.25776277450000001, 0.2578311801, 0.25724489419999996, 0.257371391, 0.25792615590000001, 0.25802671939999999, 0.2579368065, 0.25662610660000001, 0.25764087010000003] } }, { @@ -61,7 +61,15 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.033092246199999995, 0.033927880100000002, 0.033226016800000001, 0.033749545300000003, 0.034055127599999999, 0.033129185999999998, 0.033024339899999998, 0.032798102699999998, 0.0343630095, 0.033100315899999996] + "durationPerIteration": [0.031301785700000001, 0.0314806589, 0.031401908899999997, 0.031480355799999998, 0.031722823400000003, 0.031236996299999997, 0.031298850400000001, 0.031441083299999999, 0.0313352582, 0.0314780162] + } + }, + { + "benchmarkName": "oxlint/full-change-wait/express-router.js", + "warmupIterations": 1, + "measurementIterations": 10, + "samples": { + "durationPerIteration": [0.00015112140000000002, 0.00015027820000000001, 0.0001611835, 0.00013094739999999999, 0.00016207019999999999, 0.00014729709999999999, 0.00016027159999999999, 0.00015593079999999998, 0.00013470499999999999, 0.0001446866] } }, { @@ -69,7 +77,7 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.00037970629999999999, 0.00033722590000000001, 0.00028636349999999999, 0.0002934352, 0.00032444489999999999, 0.00032534760000000002, 0.00029748489999999997, 0.00028572799999999996, 0.00028850070000000004, 0.00033568790000000002] + "durationPerIteration": [0.00032873630000000004, 0.00030986680000000001, 0.00030651350000000002, 0.00035286820000000001, 0.00030366019999999999, 0.00029793049999999997, 0.00029651429999999999, 0.00029929610000000004, 0.00029631470000000002, 0.00034509710000000003] } }, { @@ -77,7 +85,7 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.020154790200000001, 0.020135320500000001, 0.0202114592, 0.020122145000000001, 0.0202031269, 0.020143493300000002, 0.020140075599999998, 0.020128758099999998, 0.020231819000000002, 0.0202118409] + "durationPerIteration": [0.020278520799999998, 0.020165152400000001, 0.020213140600000002, 0.020132530200000002, 0.020172242600000001, 0.0201512646, 0.020413437100000001, 0.020141184499999999, 0.020137511099999998, 0.020113370499999998] } }, { @@ -85,7 +93,7 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.14527574869999998, 0.1458446642, 0.1465179811, 0.1444381133, 0.1463421795, 0.14532735349999998, 0.1486199004, 0.14504906000000001, 0.1438784642, 0.1449687949] + "durationPerIteration": [0.1491384442, 0.145603963, 0.14642924169999999, 0.14844605769999999, 0.14909933179999998, 0.14606816849999998, 0.1487616074, 0.15082798110000001, 0.1504189262, 0.14850034719999999] } }, { @@ -93,7 +101,7 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.22495201269999998, 0.30968759559999998, 0.25570656270000003, 0.28492991109999999, 0.28523362720000001, 0.25610876529999999, 0.27846333479999996, 0.28505085220000004, 0.28541998020000003, 0.2550881203] + "durationPerIteration": [0.34192406349999999, 0.34124869969999999, 0.34084631209999999, 0.34143573290000001, 0.34017160060000001, 0.34034263549999999, 0.34103984949999999, 0.34084460900000002, 0.3409055111, 0.34037400080000002] } }, { @@ -101,52 +109,52 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.25584137610000002, 0.25584581950000002, 0.24963368120000001, 0.25604167769999997, 0.25481280960000002, 0.25498456400000002, 0.224560965, 0.28537806389999998, 0.25622361500000002, 0.28469608059999996] + "durationPerIteration": [0.30114422360000004, 0.34127013319999999, 0.26481943050000001, 0.30601346020000003, 0.34178158949999998, 0.34205903329999998, 0.34059764250000002, 0.34241150170000001, 0.34138711110000003, 0.34147718039999997] } } ], "metadata": { "Biome": { - "@biomejs/biome": "1.3.1", - "@biomejs/cli-darwin-arm64": "1.3.1", - "@biomejs/cli-darwin-x64": "1.3.1", - "@biomejs/cli-linux-arm64": "1.3.1", - "@biomejs/cli-linux-x64": "1.3.1", - "@biomejs/cli-win32-arm64": "1.3.1", - "@biomejs/cli-win32-x64": "1.3.1" + "@biomejs/biome": "1.4.1", + "@biomejs/cli-darwin-arm64": "1.4.1", + "@biomejs/cli-darwin-x64": "1.4.1", + "@biomejs/cli-linux-arm64": "1.4.1", + "@biomejs/cli-linux-x64": "1.4.1", + "@biomejs/cli-win32-arm64": "1.4.1", + "@biomejs/cli-win32-x64": "1.4.1" } , "Deno": { - "deno": "1.37.2", + "deno": "1.38.4", "typescript": "5.2.2", - "v8": "11.8.172.13" + "v8": "12.0.267.1" } , "ESLint": { "@aashutoshrathi/word-wrap": "1.2.6", "@eslint-community/eslint-utils": "4.4.0", "@eslint-community/regexpp": "4.10.0", - "@eslint/eslintrc": "2.1.2", - "@eslint/js": "8.52.0", + "@eslint/eslintrc": "2.1.3", + "@eslint/js": "8.54.0", "@humanwhocodes/config-array": "0.11.13", "@humanwhocodes/module-importer": "1.0.1", "@humanwhocodes/object-schema": "2.0.1", "@nodelib/fs.scandir": "2.1.5", "@nodelib/fs.stat": "2.0.5", "@nodelib/fs.walk": "1.2.8", - "@types/json-schema": "7.0.14", + "@types/json-schema": "7.0.15", "@types/json5": "0.0.29", - "@types/semver": "7.5.4", - "@typescript-eslint/eslint-plugin": "6.9.0", - "@typescript-eslint/parser": "6.9.0", - "@typescript-eslint/scope-manager": "6.9.0", - "@typescript-eslint/type-utils": "6.9.0", - "@typescript-eslint/types": "6.9.0", - "@typescript-eslint/typescript-estree": "6.9.0", - "@typescript-eslint/utils": "6.9.0", - "@typescript-eslint/visitor-keys": "6.9.0", + "@types/semver": "7.5.6", + "@typescript-eslint/eslint-plugin": "6.13.1", + "@typescript-eslint/parser": "6.13.1", + "@typescript-eslint/scope-manager": "6.13.1", + "@typescript-eslint/type-utils": "6.13.1", + "@typescript-eslint/types": "6.13.1", + "@typescript-eslint/typescript-estree": "6.13.1", + "@typescript-eslint/utils": "6.13.1", + "@typescript-eslint/visitor-keys": "6.13.1", "@ungap/structured-clone": "1.2.0", - "acorn": "8.11.1", + "acorn": "8.11.2", "acorn-jsx": "5.3.2", "ajv": "6.12.6", "ansi-regex": "5.0.1", @@ -187,13 +195,13 @@ "es-shim-unscopables": "1.0.2", "es-to-primitive": "1.2.1", "escape-string-regexp": "4.0.0", - "eslint": "8.52.0", + "eslint": "8.54.0", "eslint-config-airbnb-base": "15.0.0", "eslint-import-resolver-node": "0.3.9", "eslint-module-utils": "2.8.0", "eslint-plugin-import": "2.29.0", "eslint-plugin-react": "7.33.2", - "eslint-plugin-vue": "9.18.0", + "eslint-plugin-vue": "9.19.2", "eslint-scope": "7.2.2", "eslint-visitor-keys": "3.4.3", "espree": "9.6.1", @@ -202,14 +210,14 @@ "estraverse": "5.3.0", "esutils": "2.0.3", "fast-deep-equal": "3.1.3", - "fast-glob": "3.3.1", + "fast-glob": "3.3.2", "fast-json-stable-stringify": "2.1.0", "fast-levenshtein": "2.0.6", "fastq": "1.15.0", "file-entry-cache": "6.0.1", "fill-range": "7.0.1", "find-up": "5.0.0", - "flat-cache": "3.1.1", + "flat-cache": "3.2.0", "flatted": "3.2.9", "for-each": "0.3.3", "fs.realpath": "1.0.0", @@ -232,7 +240,7 @@ "has-symbols": "1.0.3", "has-tostringtag": "1.0.0", "hasown": "2.0.0", - "ignore": "5.2.4", + "ignore": "5.3.0", "import-fresh": "3.3.0", "imurmurhash": "0.1.4", "inflight": "1.0.6", @@ -286,12 +294,12 @@ "minimist": "1.2.8", "ms": "2.1.2", "natural-compare": "1.4.0", - "node": "v21.1.0", + "node": "v21.3.0", "nth-check": "2.1.1", "object-assign": "4.1.1", "object-inspect": "1.13.1", "object-keys": "1.1.1", - "object.assign": "4.1.4", + "object.assign": "4.1.5", "object.entries": "1.1.7", "object.fromentries": "2.0.7", "object.groupby": "1.0.1", @@ -311,7 +319,7 @@ "postcss-selector-parser": "6.0.13", "prelude-ls": "1.2.1", "prop-types": "15.8.1", - "punycode": "2.3.0", + "punycode": "2.3.1", "queue-microtask": "1.2.3", "react-is": "16.13.1", "reflect.getprototypeof": "1.0.4", @@ -349,7 +357,7 @@ "typed-array-byte-length": "1.0.0", "typed-array-byte-offset": "1.0.0", "typed-array-length": "1.0.4", - "typescript": "5.2.2", + "typescript": "5.3.2", "unbox-primitive": "1.0.2", "uri-js": "4.4.1", "util-deprecate": "1.0.2", @@ -367,17 +375,17 @@ } , "Flow": { - "flow-bin": "0.219.5" + "flow-bin": "0.223.0" } , "TypeScript": { - "node": "v21.1.0", - "typescript": "5.2.2", - "typescript-language-server": "4.0.0" + "node": "v21.3.0", + "typescript": "5.3.2", + "typescript-language-server": "4.1.3" } , "quick-lint-js": { - "version": "2.17.0" + "version": "2.18.0" } } } diff --git a/website/public/benchmarks/incremental-change-wait-express-router-js.json b/website/public/benchmarks/incremental-change-wait-express-router-js.json index 3e6a769470..985721138d 100644 --- a/website/public/benchmarks/incremental-change-wait-express-router-js.json +++ b/website/public/benchmarks/incremental-change-wait-express-router-js.json @@ -5,7 +5,7 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.080007399600000001, 0.080841913200000004, 0.079629582300000001, 0.080495002999999996, 0.079773361000000001, 0.079380821899999995, 0.080225165000000001, 0.080441927100000005, 0.079646187800000004, 0.079113543699999997] + "durationPerIteration": [0.082193174999999993, 0.081106387199999991, 0.078932695900000002, 0.080190669699999995, 0.081992945900000003, 0.079029308899999998, 0.081755941499999998, 0.082024715999999998, 0.081953101800000011, 0.080822063700000002] } }, { @@ -13,7 +13,7 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.038691865499999999, 0.038655744300000003, 0.038449397199999999, 0.038737264300000004, 0.038356977599999995, 0.039391519299999997, 0.0381255104, 0.038504698999999996, 0.038540657900000004, 0.039093378400000003] + "durationPerIteration": [0.038637478200000006, 0.038239321799999997, 0.038267779299999999, 0.038511362100000002, 0.038677125299999997, 0.038819622799999995, 0.038976835000000001, 0.038507189300000001, 0.037444923800000002, 0.038127315600000003] } }, { @@ -21,7 +21,7 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.051744906599999994, 0.052234176, 0.050959122199999998, 0.053339161000000003, 0.053948090400000002, 0.054553362000000008, 0.055780807600000003, 0.050758407699999994, 0.053980444299999999, 0.053112331599999993] + "durationPerIteration": [0.048264863400000003, 0.0492980009, 0.046718350400000004, 0.0499798558, 0.051131144500000003, 0.051400305199999996, 0.047484932399999999, 0.0484784651, 0.048686529399999998, 0.050659839900000003] } }, { @@ -29,7 +29,7 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.030170591300000001, 0.030023424399999998, 0.031630001599999999, 0.029919527600000002, 0.030310692500000003, 0.031378826300000003, 0.031199882899999996, 0.031292829100000003, 0.031435956899999999, 0.029312135900000001] + "durationPerIteration": [0.030429369899999996, 0.029937612000000002, 0.031734136699999999, 0.029858479300000001, 0.031279194100000005, 0.029516067299999997, 0.030852643800000003, 0.031055511899999999, 0.029789695999999997, 0.029856388900000003] } }, { @@ -37,7 +37,7 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.035196708799999997, 0.034268154199999998, 0.033500185199999997, 0.033736164999999999, 0.033552698399999997, 0.0335159207, 0.034037945899999998, 0.033990329100000001, 0.033238771399999999, 0.033629954199999999] + "durationPerIteration": [0.033589176999999998, 0.033865440600000005, 0.033513476100000002, 0.033677225999999998, 0.033629596499999997, 0.0346380206, 0.034244571000000001, 0.033347295700000001, 0.034419016000000004, 0.034807220399999998] } }, { @@ -45,7 +45,7 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.25941814660000001, 0.25980429760000001, 0.25949527159999997, 0.25857653869999997, 0.25880831269999999, 0.25913468370000003, 0.25958821659999998, 0.25895961249999999, 0.25962544669999998, 0.25917545679999998] + "durationPerIteration": [0.2572372121, 0.25789335960000004, 0.25825870900000003, 0.25559738180000002, 0.25696568740000003, 0.25684769470000002, 0.25950377690000004, 0.25763161170000004, 0.25694059349999998, 0.25695859049999997] } }, { @@ -53,7 +53,7 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.2587464223, 0.25808179819999999, 0.25850494699999998, 0.25989122779999996, 0.25853128149999999, 0.25816698189999998, 0.25898231169999997, 0.2589742236, 0.2587340085, 0.2586971132] + "durationPerIteration": [0.25865673410000001, 0.25692873869999999, 0.25664922680000002, 0.2566860272, 0.25760800719999999, 0.25884307550000002, 0.25773222730000001, 0.25665122060000001, 0.2562405546, 0.25573548490000003] } }, { @@ -61,7 +61,15 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.068198022400000002, 0.069117900799999993, 0.067759694999999995, 0.068102210799999993, 0.068660672800000003, 0.067855485000000007, 0.068442583500000001, 0.067611306999999995, 0.067902525300000002, 0.06800584979999999] + "durationPerIteration": [0.067985368700000007, 0.0694261511, 0.0681966252, 0.069230907300000005, 0.068802121100000002, 0.069436679400000006, 0.069022903900000002, 0.068450036399999997, 0.068584459799999997, 0.068486808600000004] + } + }, + { + "benchmarkName": "oxlint/incremental-change-wait/express-router.js", + "warmupIterations": 1, + "measurementIterations": 10, + "samples": { + "durationPerIteration": [0.0001127021, 0.0001138034, 0.00010670510000000001, 0.0001009037, 0.0001044982, 0.00010259519999999999, 0.00010534179999999999, 0.0001049039, 0.00010335749999999999, 0.00010348510000000001] } }, { @@ -69,7 +77,7 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.00023649919999999997, 0.0002523688, 0.00024945490000000001, 0.00028746290000000003, 0.00025924630000000003, 0.00026132740000000003, 0.00025472679999999999, 0.00028593830000000001, 0.00025177620000000001, 0.0002439424] + "durationPerIteration": [0.0002845026, 0.0002986652, 0.00025091309999999999, 0.00026104840000000003, 0.00028058850000000003, 0.00025010700000000001, 0.00028549610000000003, 0.00025991749999999998, 0.00025940559999999997, 0.00027309700000000003] } }, { @@ -77,7 +85,7 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.14795365830000001, 0.14562194319999999, 0.14712110949999999, 0.1455002474, 0.14623844079999998, 0.14348266000000001, 0.14418519329999999, 0.1454520839, 0.14756245060000001, 0.14385641830000001] + "durationPerIteration": [0.14923744050000001, 0.1467391385, 0.1477681062, 0.14856659459999999, 0.14690512259999999, 0.15079427969999998, 0.1503456701, 0.14694344509999999, 0.14930280930000001, 0.1484123618] } }, { @@ -85,7 +93,7 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.27768067159999998, 0.27730327980000002, 0.27739209780000001, 0.27724256530000002, 0.2770002023, 0.27781415919999997, 0.27761450339999999, 0.2485616259, 0.27812771340000003, 0.27779114800000004] + "durationPerIteration": [0.33366957899999999, 0.33261852190000002, 0.33401972689999998, 0.33406061870000003, 0.33337880919999996, 0.33363770719999997, 0.3333460372, 0.33427063069999996, 0.3331547903, 0.3336288409] } }, { @@ -93,52 +101,52 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.24791289230000002, 0.27751808320000004, 0.27802154820000002, 0.27755427160000001, 0.2780543318, 0.27675317040000003, 0.27776203269999999, 0.27712559390000002, 0.24895709739999999, 0.27827021439999999] + "durationPerIteration": [0.33393707699999997, 0.3334804099, 0.33378340270000001, 0.33240552710000004, 0.33345947079999999, 0.33348293750000002, 0.33452230580000003, 0.33320386569999999, 0.33386684700000002, 0.3333290411] } } ], "metadata": { "Biome": { - "@biomejs/biome": "1.3.1", - "@biomejs/cli-darwin-arm64": "1.3.1", - "@biomejs/cli-darwin-x64": "1.3.1", - "@biomejs/cli-linux-arm64": "1.3.1", - "@biomejs/cli-linux-x64": "1.3.1", - "@biomejs/cli-win32-arm64": "1.3.1", - "@biomejs/cli-win32-x64": "1.3.1" + "@biomejs/biome": "1.4.1", + "@biomejs/cli-darwin-arm64": "1.4.1", + "@biomejs/cli-darwin-x64": "1.4.1", + "@biomejs/cli-linux-arm64": "1.4.1", + "@biomejs/cli-linux-x64": "1.4.1", + "@biomejs/cli-win32-arm64": "1.4.1", + "@biomejs/cli-win32-x64": "1.4.1" } , "Deno": { - "deno": "1.37.2", + "deno": "1.38.4", "typescript": "5.2.2", - "v8": "11.8.172.13" + "v8": "12.0.267.1" } , "ESLint": { "@aashutoshrathi/word-wrap": "1.2.6", "@eslint-community/eslint-utils": "4.4.0", "@eslint-community/regexpp": "4.10.0", - "@eslint/eslintrc": "2.1.2", - "@eslint/js": "8.52.0", + "@eslint/eslintrc": "2.1.3", + "@eslint/js": "8.54.0", "@humanwhocodes/config-array": "0.11.13", "@humanwhocodes/module-importer": "1.0.1", "@humanwhocodes/object-schema": "2.0.1", "@nodelib/fs.scandir": "2.1.5", "@nodelib/fs.stat": "2.0.5", "@nodelib/fs.walk": "1.2.8", - "@types/json-schema": "7.0.14", + "@types/json-schema": "7.0.15", "@types/json5": "0.0.29", - "@types/semver": "7.5.4", - "@typescript-eslint/eslint-plugin": "6.9.0", - "@typescript-eslint/parser": "6.9.0", - "@typescript-eslint/scope-manager": "6.9.0", - "@typescript-eslint/type-utils": "6.9.0", - "@typescript-eslint/types": "6.9.0", - "@typescript-eslint/typescript-estree": "6.9.0", - "@typescript-eslint/utils": "6.9.0", - "@typescript-eslint/visitor-keys": "6.9.0", + "@types/semver": "7.5.6", + "@typescript-eslint/eslint-plugin": "6.13.1", + "@typescript-eslint/parser": "6.13.1", + "@typescript-eslint/scope-manager": "6.13.1", + "@typescript-eslint/type-utils": "6.13.1", + "@typescript-eslint/types": "6.13.1", + "@typescript-eslint/typescript-estree": "6.13.1", + "@typescript-eslint/utils": "6.13.1", + "@typescript-eslint/visitor-keys": "6.13.1", "@ungap/structured-clone": "1.2.0", - "acorn": "8.11.1", + "acorn": "8.11.2", "acorn-jsx": "5.3.2", "ajv": "6.12.6", "ansi-regex": "5.0.1", @@ -179,13 +187,13 @@ "es-shim-unscopables": "1.0.2", "es-to-primitive": "1.2.1", "escape-string-regexp": "4.0.0", - "eslint": "8.52.0", + "eslint": "8.54.0", "eslint-config-airbnb-base": "15.0.0", "eslint-import-resolver-node": "0.3.9", "eslint-module-utils": "2.8.0", "eslint-plugin-import": "2.29.0", "eslint-plugin-react": "7.33.2", - "eslint-plugin-vue": "9.18.0", + "eslint-plugin-vue": "9.19.2", "eslint-scope": "7.2.2", "eslint-visitor-keys": "3.4.3", "espree": "9.6.1", @@ -194,14 +202,14 @@ "estraverse": "5.3.0", "esutils": "2.0.3", "fast-deep-equal": "3.1.3", - "fast-glob": "3.3.1", + "fast-glob": "3.3.2", "fast-json-stable-stringify": "2.1.0", "fast-levenshtein": "2.0.6", "fastq": "1.15.0", "file-entry-cache": "6.0.1", "fill-range": "7.0.1", "find-up": "5.0.0", - "flat-cache": "3.1.1", + "flat-cache": "3.2.0", "flatted": "3.2.9", "for-each": "0.3.3", "fs.realpath": "1.0.0", @@ -224,7 +232,7 @@ "has-symbols": "1.0.3", "has-tostringtag": "1.0.0", "hasown": "2.0.0", - "ignore": "5.2.4", + "ignore": "5.3.0", "import-fresh": "3.3.0", "imurmurhash": "0.1.4", "inflight": "1.0.6", @@ -278,12 +286,12 @@ "minimist": "1.2.8", "ms": "2.1.2", "natural-compare": "1.4.0", - "node": "v21.1.0", + "node": "v21.3.0", "nth-check": "2.1.1", "object-assign": "4.1.1", "object-inspect": "1.13.1", "object-keys": "1.1.1", - "object.assign": "4.1.4", + "object.assign": "4.1.5", "object.entries": "1.1.7", "object.fromentries": "2.0.7", "object.groupby": "1.0.1", @@ -303,7 +311,7 @@ "postcss-selector-parser": "6.0.13", "prelude-ls": "1.2.1", "prop-types": "15.8.1", - "punycode": "2.3.0", + "punycode": "2.3.1", "queue-microtask": "1.2.3", "react-is": "16.13.1", "reflect.getprototypeof": "1.0.4", @@ -341,7 +349,7 @@ "typed-array-byte-length": "1.0.0", "typed-array-byte-offset": "1.0.0", "typed-array-length": "1.0.4", - "typescript": "5.2.2", + "typescript": "5.3.2", "unbox-primitive": "1.0.2", "uri-js": "4.4.1", "util-deprecate": "1.0.2", @@ -359,17 +367,17 @@ } , "Flow": { - "flow-bin": "0.219.5" + "flow-bin": "0.223.0" } , "TypeScript": { - "node": "v21.1.0", - "typescript": "5.2.2", - "typescript-language-server": "4.0.0" + "node": "v21.3.0", + "typescript": "5.3.2", + "typescript-language-server": "4.1.3" } , "quick-lint-js": { - "version": "2.17.0" + "version": "2.18.0" } } } diff --git a/website/public/benchmarks/incremental-change-wait-react-quickly-ch10-jsx.json b/website/public/benchmarks/incremental-change-wait-react-quickly-ch10-jsx.json index 2a18e0f284..be2993e7db 100644 --- a/website/public/benchmarks/incremental-change-wait-react-quickly-ch10-jsx.json +++ b/website/public/benchmarks/incremental-change-wait-react-quickly-ch10-jsx.json @@ -5,7 +5,7 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.028326022200000002, 0.028971017700000001, 0.028707292299999999, 0.028031168699999998, 0.028292447999999998, 0.027977067100000003, 0.028810104499999999, 0.028072638800000001, 0.028351704599999999, 0.028803048799999998] + "durationPerIteration": [0.028276676399999999, 0.0281155856, 0.027835770399999998, 0.027919477199999997, 0.0282164003, 0.0275347287, 0.027942432099999998, 0.028196873800000001, 0.027866397999999997, 0.028475349800000001] } }, { @@ -13,7 +13,7 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.027484611599999997, 0.0329994885, 0.029657482800000003, 0.030562508400000001, 0.027375305900000001, 0.027109677199999998, 0.0269627489, 0.030409597999999999, 0.027806746, 0.028941062600000001] + "durationPerIteration": [0.030298951400000003, 0.030951664899999998, 0.030980189800000002, 0.029059071199999998, 0.031114148899999999, 0.031596223299999997, 0.0319609613, 0.0294186814, 0.032250608100000001, 0.028986563] } }, { @@ -21,7 +21,7 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.22808051900000001, 0.22827811670000001, 0.22716637119999999, 0.22810540000000001, 0.22697278609999999, 0.22721900079999999, 0.2280747876, 0.22810339289999998, 0.22802150469999999, 0.22855549480000001] + "durationPerIteration": [0.2268408069, 0.22685992659999998, 0.22609507190000003, 0.22640576740000001, 0.2275216608, 0.2265980816, 0.22635738509999997, 0.2270149853, 0.2269249894, 0.22641635130000001] } }, { @@ -29,7 +29,7 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.22823450319999999, 0.22803036579999997, 0.22833113669999999, 0.22770449089999997, 0.22836831839999999, 0.22858028840000003, 0.22791984730000001, 0.2277381111, 0.2286643807, 0.22834685299999999] + "durationPerIteration": [0.22555291849999998, 0.22631934849999999, 0.22682426890000001, 0.22630095610000001, 0.22651038080000002, 0.22728779970000001, 0.22678005780000002, 0.22697379780000002, 0.22690195599999999, 0.22661693490000001] } }, { @@ -37,7 +37,15 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.027616465299999997, 0.027766066900000004, 0.027469262000000001, 0.027492451499999997, 0.0277389361, 0.027576739199999999, 0.027208145999999999, 0.027582515699999997, 0.027560980200000001, 0.027511159400000002] + "durationPerIteration": [0.0418331599, 0.041918573299999998, 0.041920856699999995, 0.041651731900000002, 0.041169529100000005, 0.041413034700000004, 0.041329535399999999, 0.041698757500000003, 0.042212577899999999, 0.041642185499999998] + } + }, + { + "benchmarkName": "oxlint/incremental-change-wait/react-quickly-ch10.jsx", + "warmupIterations": 1, + "measurementIterations": 10, + "samples": { + "durationPerIteration": [9.33445e-05, 9.3775099999999996e-05, 0.0001033918, 9.1167400000000004e-05, 9.2633900000000001e-05, 9.3997299999999995e-05, 9.3185599999999998e-05, 9.2159799999999998e-05, 9.37798e-05, 9.2699600000000003e-05] } }, { @@ -45,7 +53,7 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.00011206549999999999, 0.0001060999, 8.2210200000000001e-05, 0.00010652949999999999, 0.0001336718, 0.00010241860000000001, 9.7639099999999998e-05, 0.0001127124, 0.00010151789999999999, 0.00011310319999999999] + "durationPerIteration": [0.00011320119999999999, 0.0001005902, 0.0001079408, 0.00010069809999999998, 0.0001049674, 0.0001004134, 0.0001005274, 0.0001042994, 0.0001366699, 0.00011717920000000001] } }, { @@ -53,7 +61,7 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.006454022299999999, 0.0065713868999999992, 0.0065744386000000004, 0.0063631857999999998, 0.0072668536000000004, 0.0066480651999999999, 0.0059689962999999995, 0.0059698557999999999, 0.0060185125999999995, 0.0068829312000000002] + "durationPerIteration": [0.0063541025999999997, 0.0065203427999999996, 0.0064916023000000005, 0.0063990426, 0.0070379052999999994, 0.0069688244999999999, 0.0071403153, 0.0060867485999999997, 0.0060930943, 0.0074473770999999994] } }, { @@ -61,52 +69,52 @@ "warmupIterations": 1, "measurementIterations": 10, "samples": { - "durationPerIteration": [0.27576081159999999, 0.27445261379999997, 0.27527971810000001, 0.27559375050000001, 0.27515887100000003, 0.27536663290000002, 0.27543966609999998, 0.27595772829999998, 0.27543417739999998, 0.27522114949999998] + "durationPerIteration": [0.37492417119999999, 0.37548354940000001, 0.37535498619999996, 0.37560496209999999, 0.37523652150000003, 0.37549015350000003, 0.37551663569999999, 0.37494907450000003, 0.37599296360000001, 0.37578477650000003] } } ], "metadata": { "Biome": { - "@biomejs/biome": "1.3.1", - "@biomejs/cli-darwin-arm64": "1.3.1", - "@biomejs/cli-darwin-x64": "1.3.1", - "@biomejs/cli-linux-arm64": "1.3.1", - "@biomejs/cli-linux-x64": "1.3.1", - "@biomejs/cli-win32-arm64": "1.3.1", - "@biomejs/cli-win32-x64": "1.3.1" + "@biomejs/biome": "1.4.1", + "@biomejs/cli-darwin-arm64": "1.4.1", + "@biomejs/cli-darwin-x64": "1.4.1", + "@biomejs/cli-linux-arm64": "1.4.1", + "@biomejs/cli-linux-x64": "1.4.1", + "@biomejs/cli-win32-arm64": "1.4.1", + "@biomejs/cli-win32-x64": "1.4.1" } , "Deno": { - "deno": "1.37.2", + "deno": "1.38.4", "typescript": "5.2.2", - "v8": "11.8.172.13" + "v8": "12.0.267.1" } , "ESLint": { "@aashutoshrathi/word-wrap": "1.2.6", "@eslint-community/eslint-utils": "4.4.0", "@eslint-community/regexpp": "4.10.0", - "@eslint/eslintrc": "2.1.2", - "@eslint/js": "8.52.0", + "@eslint/eslintrc": "2.1.3", + "@eslint/js": "8.54.0", "@humanwhocodes/config-array": "0.11.13", "@humanwhocodes/module-importer": "1.0.1", "@humanwhocodes/object-schema": "2.0.1", "@nodelib/fs.scandir": "2.1.5", "@nodelib/fs.stat": "2.0.5", "@nodelib/fs.walk": "1.2.8", - "@types/json-schema": "7.0.14", + "@types/json-schema": "7.0.15", "@types/json5": "0.0.29", - "@types/semver": "7.5.4", - "@typescript-eslint/eslint-plugin": "6.9.0", - "@typescript-eslint/parser": "6.9.0", - "@typescript-eslint/scope-manager": "6.9.0", - "@typescript-eslint/type-utils": "6.9.0", - "@typescript-eslint/types": "6.9.0", - "@typescript-eslint/typescript-estree": "6.9.0", - "@typescript-eslint/utils": "6.9.0", - "@typescript-eslint/visitor-keys": "6.9.0", + "@types/semver": "7.5.6", + "@typescript-eslint/eslint-plugin": "6.13.1", + "@typescript-eslint/parser": "6.13.1", + "@typescript-eslint/scope-manager": "6.13.1", + "@typescript-eslint/type-utils": "6.13.1", + "@typescript-eslint/types": "6.13.1", + "@typescript-eslint/typescript-estree": "6.13.1", + "@typescript-eslint/utils": "6.13.1", + "@typescript-eslint/visitor-keys": "6.13.1", "@ungap/structured-clone": "1.2.0", - "acorn": "8.11.1", + "acorn": "8.11.2", "acorn-jsx": "5.3.2", "ajv": "6.12.6", "ansi-regex": "5.0.1", @@ -147,13 +155,13 @@ "es-shim-unscopables": "1.0.2", "es-to-primitive": "1.2.1", "escape-string-regexp": "4.0.0", - "eslint": "8.52.0", + "eslint": "8.54.0", "eslint-config-airbnb-base": "15.0.0", "eslint-import-resolver-node": "0.3.9", "eslint-module-utils": "2.8.0", "eslint-plugin-import": "2.29.0", "eslint-plugin-react": "7.33.2", - "eslint-plugin-vue": "9.18.0", + "eslint-plugin-vue": "9.19.2", "eslint-scope": "7.2.2", "eslint-visitor-keys": "3.4.3", "espree": "9.6.1", @@ -162,14 +170,14 @@ "estraverse": "5.3.0", "esutils": "2.0.3", "fast-deep-equal": "3.1.3", - "fast-glob": "3.3.1", + "fast-glob": "3.3.2", "fast-json-stable-stringify": "2.1.0", "fast-levenshtein": "2.0.6", "fastq": "1.15.0", "file-entry-cache": "6.0.1", "fill-range": "7.0.1", "find-up": "5.0.0", - "flat-cache": "3.1.1", + "flat-cache": "3.2.0", "flatted": "3.2.9", "for-each": "0.3.3", "fs.realpath": "1.0.0", @@ -192,7 +200,7 @@ "has-symbols": "1.0.3", "has-tostringtag": "1.0.0", "hasown": "2.0.0", - "ignore": "5.2.4", + "ignore": "5.3.0", "import-fresh": "3.3.0", "imurmurhash": "0.1.4", "inflight": "1.0.6", @@ -246,12 +254,12 @@ "minimist": "1.2.8", "ms": "2.1.2", "natural-compare": "1.4.0", - "node": "v21.1.0", + "node": "v21.3.0", "nth-check": "2.1.1", "object-assign": "4.1.1", "object-inspect": "1.13.1", "object-keys": "1.1.1", - "object.assign": "4.1.4", + "object.assign": "4.1.5", "object.entries": "1.1.7", "object.fromentries": "2.0.7", "object.groupby": "1.0.1", @@ -271,7 +279,7 @@ "postcss-selector-parser": "6.0.13", "prelude-ls": "1.2.1", "prop-types": "15.8.1", - "punycode": "2.3.0", + "punycode": "2.3.1", "queue-microtask": "1.2.3", "react-is": "16.13.1", "reflect.getprototypeof": "1.0.4", @@ -309,7 +317,7 @@ "typed-array-byte-length": "1.0.0", "typed-array-byte-offset": "1.0.0", "typed-array-length": "1.0.4", - "typescript": "5.2.2", + "typescript": "5.3.2", "unbox-primitive": "1.0.2", "uri-js": "4.4.1", "util-deprecate": "1.0.2", @@ -327,17 +335,17 @@ } , "Flow": { - "flow-bin": "0.219.5" + "flow-bin": "0.223.0" } , "TypeScript": { - "node": "v21.1.0", - "typescript": "5.2.2", - "typescript-language-server": "4.0.0" + "node": "v21.3.0", + "typescript": "5.3.2", + "typescript-language-server": "4.1.3" } , "quick-lint-js": { - "version": "2.17.0" + "version": "2.18.0" } } } diff --git a/website/public/benchmarks/index.ejs.html b/website/public/benchmarks/index.ejs.html index 95da65ee19..70f1004e8c 100644 --- a/website/public/benchmarks/index.ejs.html +++ b/website/public/benchmarks/index.ejs.html @@ -26,6 +26,7 @@ RSLint: {hue: 120.0}, Biome: {hue: 160.0}, Flow: {hue: 180.0}, + "oxlint": {hue: 220.0}, Deno: {hue: 240.0}, "Deno-nolint": {hue: 260.0, name: "Deno (no linting)"}, TypeScript: {hue: 290.0}, @@ -220,6 +221,10 @@

Work (timed)

Methodology

These benchmarks measure the following linters: