3 8.times { include(Module.new) }
6 32.times { include(Module.new) }
9 64.times { include(Module.new) }
12 128.times { include(Module.new) }
18 def initialize a, b; end
21 def initialize a, b, c; end
24 def initialize a, b, c, d; end
27 def initialize a:, b:, c:, d:
31 def initialize a, b, c:, d:
34 # Disable GC to see raw throughput:
37 allocate_8_deep: Eight.new
38 allocate_32_deep: ThirtyTwo.new
39 allocate_64_deep: SixtyFour.new
40 allocate_128_deep: OneTwentyEight.new
41 allocate_1_positional_params: OnePositional.new(1)
42 allocate_2_positional_params: TwoPositional.new(1, 2)
43 allocate_3_positional_params: ThreePositional.new(1, 2, 3)
44 allocate_4_positional_params: FourPositional.new(1, 2, 3, 4)
45 allocate_kwarg_params: "KWArg.new(a: 1, b: 2, c: 3, d: 4)"
46 allocate_mixed_params: "Mixed.new(1, 2, c: 3, d: 4)"
47 allocate_no_params: "Object.new"