aboutsummaryrefslogtreecommitdiff
path: root/bench/snippets
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-10-08 18:22:50 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-10-09 02:02:47 -0700
commitb63218206d4a15030efc941ebcbe9b0dcba7e5d8 (patch)
tree7995587472cc8b87e1770f99b9e822388346584c /bench/snippets
parent349ccf229b6a246f56d54124156729aad5a8eba4 (diff)
downloadbun-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.mjs2
-rw-r--r--bench/snippets/index-of.mjs12
-rw-r--r--bench/snippets/object-entries.mjs64
-rw-r--r--bench/snippets/readdir.mjs2
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();