summaryrefslogtreecommitdiff
path: root/benchmark/array_join.yml
diff options
context:
space:
mode:
Diffstat (limited to 'benchmark/array_join.yml')
-rw-r--r--benchmark/array_join.yml34
1 files changed, 34 insertions, 0 deletions
diff --git a/benchmark/array_join.yml b/benchmark/array_join.yml
new file mode 100644
index 0000000000..65d718e9af
--- /dev/null
+++ b/benchmark/array_join.yml
@@ -0,0 +1,34 @@
+prelude: |
+ # All elements are 7-bit ASCII Strings (the dominant real-world join case).
+ # Distinct objects so large-N cases exercise realistic heap/cache behavior.
+ a100_1 = Array.new(100) { "a" * 1 }
+ a100_8 = Array.new(100) { "a" * 8 }
+ a100_40 = Array.new(100) { "a" * 40 }
+ a1k_1 = Array.new(1000) { "a" * 1 }
+ a1k_8 = Array.new(1000) { "a" * 8 }
+ a1k_40 = Array.new(1000) { "a" * 40 }
+ a100k_1 = Array.new(100000) { "a" * 1 }
+ a100k_8 = Array.new(100000) { "a" * 8 }
+ a100k_40 = Array.new(100000) { "a" * 40 }
+
+benchmark:
+ # separator " " (space)
+ join_sp_n100_e1: a100_1.join(" ")
+ join_sp_n100_e8: a100_8.join(" ")
+ join_sp_n100_e40: a100_40.join(" ")
+ join_sp_n1k_e1: a1k_1.join(" ")
+ join_sp_n1k_e8: a1k_8.join(" ")
+ join_sp_n1k_e40: a1k_40.join(" ")
+ join_sp_n100k_e1: a100k_1.join(" ")
+ join_sp_n100k_e8: a100k_8.join(" ")
+ join_sp_n100k_e40: a100k_40.join(" ")
+ # separator "\n" (newline)
+ join_nl_n100_e1: a100_1.join("\n")
+ join_nl_n100_e8: a100_8.join("\n")
+ join_nl_n100_e40: a100_40.join("\n")
+ join_nl_n1k_e1: a1k_1.join("\n")
+ join_nl_n1k_e8: a1k_8.join("\n")
+ join_nl_n1k_e40: a1k_40.join("\n")
+ join_nl_n100k_e1: a100k_1.join("\n")
+ join_nl_n100k_e8: a100k_8.join("\n")
+ join_nl_n100k_e40: a100k_40.join("\n")