aboutsummaryrefslogtreecommitdiff
path: root/bench/snippets/object-entries.mjs
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/object-entries.mjs
parent349ccf229b6a246f56d54124156729aad5a8eba4 (diff)
downloadbun-b63218206d4a15030efc941ebcbe9b0dcba7e5d8.tar.gz
bun-b63218206d4a15030efc941ebcbe9b0dcba7e5d8.tar.zst
bun-b63218206d4a15030efc941ebcbe9b0dcba7e5d8.zip
Add some more bench snippets
Diffstat (limited to 'bench/snippets/object-entries.mjs')
-rw-r--r--bench/snippets/object-entries.mjs64
1 files changed, 64 insertions, 0 deletions
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();