aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-09-28 14:38:15 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-09-28 14:38:15 -0700
commit76b1a3a88d68543a29e74c8bc0319e878528a4ac (patch)
tree6d3b26f6c4f8c83cbc610b1ebf5d5f302e9f6e58
parentb74351e55fcb54451e793879302754de440e3da0 (diff)
downloadbun-76b1a3a88d68543a29e74c8bc0319e878528a4ac.tar.gz
bun-76b1a3a88d68543a29e74c8bc0319e878528a4ac.tar.zst
bun-76b1a3a88d68543a29e74c8bc0319e878528a4ac.zip
Bench snippet for Array.map
-rw-r--r--bench/snippets/array-map.mjs54
1 files changed, 54 insertions, 0 deletions
diff --git a/bench/snippets/array-map.mjs b/bench/snippets/array-map.mjs
new file mode 100644
index 000000000..56f0cc3c3
--- /dev/null
+++ b/bench/snippets/array-map.mjs
@@ -0,0 +1,54 @@
+// https://github.com/oven-sh/bun/issues/1096
+import { bench, run } from "mitata";
+
+for (let i = 0; i < 20; i++) {
+ var array = new Array(i);
+ for (let j = 0; j < i; j++) {
+ array[j] = 1;
+ }
+
+ bench("Array.map x " + i, () => array.map(identity));
+}
+
+bench("inline Array.map x 0", () => [].map(identity));
+bench("inline Array.map x 1", () => [1].map(identity));
+bench("inline Array.map x 2", () => [1, 1].map(identity));
+bench("inline Array.map x 3", () => [1, 1, 1].map(identity));
+bench("inline Array.map x 4", () => [1, 1, 1, 1].map(identity));
+bench("inline Array.map x 5", () => [1, 1, 1, 1, 1].map(identity));
+bench("inline Array.map x 6", () => [1, 1, 1, 1, 1, 1].map(identity));
+bench("inline Array.map x 7", () => [1, 1, 1, 1, 1, 1, 1].map(identity));
+bench("inline Array.map x 8", () => [1, 1, 1, 1, 1, 1, 1, 1].map(identity));
+bench("inline Array.map x 9", () => [1, 1, 1, 1, 1, 1, 1, 1, 1].map(identity));
+bench("inline Array.map x 10", () =>
+ [1, 1, 1, 1, 1, 1, 1, 1, 1, 1].map(identity)
+);
+bench("inline Array.map x 11", () =>
+ [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1].map(identity)
+);
+bench("inline Array.map x 12", () =>
+ [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1].map(identity)
+);
+bench("inline Array.map x 13", () =>
+ [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1].map(identity)
+);
+bench("inline Array.map x 14", () =>
+ [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1].map(identity)
+);
+bench("inline Array.map x 15", () =>
+ [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1].map(identity)
+);
+bench("inline Array.map x 16", () =>
+ [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1].map(identity)
+);
+bench("inline Array.map x 17", () =>
+ [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1].map(identity)
+);
+bench("inline Array.map x 18", () =>
+ [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1].map(identity)
+);
+bench("inline Array.map x 19", () =>
+ [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1].map(identity)
+);
+
+await run();