diff options
author | 2022-10-08 18:22:50 -0700 | |
---|---|---|
committer | 2022-10-09 02:02:47 -0700 | |
commit | b63218206d4a15030efc941ebcbe9b0dcba7e5d8 (patch) | |
tree | 7995587472cc8b87e1770f99b9e822388346584c /bench/snippets | |
parent | 349ccf229b6a246f56d54124156729aad5a8eba4 (diff) | |
download | bun-b63218206d4a15030efc941ebcbe9b0dcba7e5d8.tar.gz bun-b63218206d4a15030efc941ebcbe9b0dcba7e5d8.tar.zst bun-b63218206d4a15030efc941ebcbe9b0dcba7e5d8.zip |
Add some more bench snippets
Diffstat (limited to 'bench/snippets')
-rw-r--r-- | bench/snippets/array-map.mjs | 2 | ||||
-rw-r--r-- | bench/snippets/index-of.mjs | 12 | ||||
-rw-r--r-- | bench/snippets/object-entries.mjs | 64 | ||||
-rw-r--r-- | bench/snippets/readdir.mjs | 2 |
4 files changed, 79 insertions, 1 deletions
diff --git a/bench/snippets/array-map.mjs b/bench/snippets/array-map.mjs index 56f0cc3c3..2b6f4f669 100644 --- a/bench/snippets/array-map.mjs +++ b/bench/snippets/array-map.mjs @@ -1,6 +1,8 @@ // https://github.com/oven-sh/bun/issues/1096 import { bench, run } from "mitata"; +const identity = (x) => x; + for (let i = 0; i < 20; i++) { var array = new Array(i); for (let j = 0; j < i; j++) { diff --git a/bench/snippets/index-of.mjs b/bench/snippets/index-of.mjs new file mode 100644 index 000000000..a7aad7a1e --- /dev/null +++ b/bench/snippets/index-of.mjs @@ -0,0 +1,12 @@ +import { bench, run } from "mitata"; + +const input = + "Hello, World! foo bar baz qux quux corge grault garply waldo fred plugh xyzzy thud z a b c d e f g h i j k l m n o p q r s t u v w x y z".split( + " " + ); + +bench(`Array.indexOf`, () => { + return input.indexOf("thud"); +}); + +await run(); diff --git a/bench/snippets/object-entries.mjs b/bench/snippets/object-entries.mjs new file mode 100644 index 000000000..c3e4bf9e5 --- /dev/null +++ b/bench/snippets/object-entries.mjs @@ -0,0 +1,64 @@ +// so it can run in environments without node module resolution +import { bench, run } from "../../node_modules/mitata/src/cli.mjs"; + +const obj = { + a: 1, + b: 2, + c: 3, + d: 4, + e: 5, + f: 6, + g: 7, + h: 8, + i: 9, + j: 10, + k: 11, + l: 12, + m: 13, + n: 14, + o: 15, + p: 16, + q: 17, + r: 18, + s: 19, + t: 20, + u: 21, + v: 22, + w: 23, + x: 24, + y: 25, + z: 26, +}; + +bench("Object.entries(26 keys)", () => { + var k; + for (let [key, value] of Object.entries(obj)) { + value = key; + } + return k; +}); + +bench("Object.keys(26 keys)", () => { + var k; + for (let [key, value] of Object.keys(obj)) { + value = key; + } + return k; +}); + +bench("Object.entries(2 keys)", () => { + var k; + for (let [key, value] of Object.entries({ a: 1, b: 2 })) { + value = key; + } + return k; +}); + +bench("Object.keys(2 keys)", () => { + var k; + for (let item of Object.keys({ a: 1, b: 2 })) { + } + return k; +}); + +await run(); diff --git a/bench/snippets/readdir.mjs b/bench/snippets/readdir.mjs index 1486485ec..70c3e960c 100644 --- a/bench/snippets/readdir.mjs +++ b/bench/snippets/readdir.mjs @@ -6,7 +6,7 @@ const dir = argv.length > 2 ? argv[2] : "/tmp"; const count = readdirSync(dir).length; bench(`readdir("${dir}")`, () => { - readdirSync(dir); + readdirSync(dir, { withFileTypes: true }); }); await run(); |