Skip to content

Commit 015b033

Browse files
committed
add bench
1 parent 739a7e9 commit 015b033

File tree

5 files changed

+71
-4
lines changed

5 files changed

+71
-4
lines changed

.changeset/perfect-coats-rhyme.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"ultraflag": patch
3+
---
4+
5+
add benchmarks

package.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
"scripts": {
1515
"build": "node scripts/build.js && tsc -p .",
1616
"lint": "prettier \"**/*.{js,ts,md}\"",
17+
"bench": "node scripts/bench.js",
1718
"dev": "vitest",
1819
"test": "vitest run"
1920
},
@@ -46,14 +47,18 @@
4647
"packageManager": "[email protected]",
4748
"devDependencies": {
4849
"@changesets/cli": "^2.18.1",
50+
"arg": "^5.0.2",
51+
"benchmark": "^2.1.4",
4952
"chalk": "^5.1.2",
5053
"esbuild": "^0.14.51",
5154
"globby": "^13.1.2",
5255
"gzip-size": "^7.0.0",
56+
"minimist": "^1.2.7",
5357
"npm-run-all": "^4.1.5",
5458
"prettier": "^2.5.1",
5559
"pretty-bytes": "^6.0.0",
5660
"typescript": "^4.7.4",
57-
"vitest": "^0.20.2"
61+
"vitest": "^0.20.2",
62+
"yargs-parser": "^21.1.1"
5863
}
5964
}

pnpm-lock.yaml

Lines changed: 34 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

scripts/bench.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import benchmark from "benchmark";
2+
import { parse as ultraflag } from "../dist/index.js";
3+
import minimist from 'minimist';
4+
import yargs from 'yargs-parser';
5+
6+
// @ts-ignore
7+
const suite = new benchmark.Suite();
8+
9+
const args = `--a=1 --b=2 -c 3 -xyz -c 4`.split(' ');
10+
11+
suite
12+
.add("ultraflag", () => {
13+
ultraflag(args);
14+
})
15+
.add("minimist", () => {
16+
minimist(args);
17+
})
18+
.add("yargs-parser", () => {
19+
yargs(args)
20+
})
21+
.on("cycle", (event) => {
22+
console.log(String(event.target));
23+
});
24+
25+
suite.run();

src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import type {
66
BooleanType,
77
StringType,
88
Collectable,
9+
910
Aliases,
1011
} from "./types.js";
1112
export { ParseOptions, Args } from "./types.js";

0 commit comments

Comments
 (0)