|
26 | 26 | memoization_method: :memo_wise,
|
27 | 27 | },
|
28 | 28 | ),
|
29 |
| - GemBench::Jersey.new( |
30 |
| - gem_name: "alt_memery", |
31 |
| - trades: { |
32 |
| - "Memery" => "AltMemery" |
33 |
| - }, |
34 |
| - metadata: { |
35 |
| - activation_code: "include AltMemery", |
36 |
| - memoization_method: :memoize, |
37 |
| - }, |
38 |
| - ), |
39 |
| - GemBench::Jersey.new( |
40 |
| - gem_name: "memoist3", |
41 |
| - trades: { |
42 |
| - "Memoist" => "MemoistThree" |
43 |
| - }, |
44 |
| - metadata: { |
45 |
| - activation_code: "extend MemoistThree", |
46 |
| - memoization_method: :memoize, |
47 |
| - }, |
48 |
| - ), |
49 |
| - GemBench::Jersey.new( |
50 |
| - gem_name: "memoist", |
51 |
| - trades: { |
52 |
| - "Memoist" => "MemoistOne" |
53 |
| - }, |
54 |
| - metadata: { |
55 |
| - activation_code: "extend MemoistOne", |
56 |
| - memoization_method: :memoize, |
57 |
| - }, |
58 |
| - ), |
59 | 29 | ].each(&:doff_and_don) # Copies, re-namespaces, and requires each gem.
|
60 | 30 |
|
61 | 31 | # We've already installed the `memo_wise` version on the `main` branch from GitHub in the
|
@@ -119,11 +89,6 @@ def benchmark_name
|
119 | 89 | end
|
120 | 90 | benchmarked_gems.push(
|
121 | 91 | BenchmarkGem.new(MemoWise, "prepend MemoWise", :memo_wise, LOCAL_BENCHMARK_NAME),
|
122 |
| - (BenchmarkGem.new(DDMemoize, "DDMemoize.activate(self)", :memoize, "ddmemoize") if defined?(DDMemoize)), |
123 |
| - (BenchmarkGem.new(Dry::Core, "include Dry::Core::Memoizable", :memoize, "dry-core") if defined?(Dry::Core)), |
124 |
| - (BenchmarkGem.new(Memery, "include Memery", :memoize, "memery") if defined?(Memery)), |
125 |
| - (BenchmarkGem.new(Memoized, "include Memoized", :memoize, "memoized") if defined?(Memoized)), |
126 |
| - (BenchmarkGem.new(Memoizer, "include Memoizer", :memoize, "memoizer") if defined?(Memoizer)) |
127 | 92 | )
|
128 | 93 | BENCHMARK_GEMS = benchmarked_gems.compact.shuffle
|
129 | 94 |
|
@@ -189,69 +154,13 @@ def positional_splat_keyword_and_double_splat_args(a, *args, b:, **kwargs)
|
189 | 154 | # Each method within these benchmarks is initially run once to memoize the
|
190 | 155 | # result value, so our benchmark only tests memoized retrieval time.
|
191 | 156 | benchmark_lambdas = [
|
192 |
| - lambda do |x, instance, benchmark_gem| |
193 |
| - instance.no_args |
194 |
| - |
195 |
| - x.report("#{benchmark_gem.benchmark_name}: ()") do |
196 |
| - instance.no_args |
197 |
| - end |
198 |
| - end, |
199 |
| - lambda do |x, instance, benchmark_gem| |
200 |
| - instance.one_positional_arg(1) |
201 |
| - |
202 |
| - x.report("#{benchmark_gem.benchmark_name}: (a)") do |
203 |
| - instance.one_positional_arg(1) |
204 |
| - end |
205 |
| - end, |
206 |
| - lambda do |x, instance, benchmark_gem| |
207 |
| - instance.positional_args(1, 2) |
208 |
| - |
209 |
| - x.report("#{benchmark_gem.benchmark_name}: (a, b)") do |
210 |
| - instance.positional_args(1, 2) |
211 |
| - end |
212 |
| - end, |
213 |
| - lambda do |x, instance, benchmark_gem| |
214 |
| - instance.one_keyword_arg(a: 1) |
215 |
| - |
216 |
| - x.report("#{benchmark_gem.benchmark_name}: (a:)") do |
217 |
| - instance.one_keyword_arg(a: 1) |
218 |
| - end |
219 |
| - end, |
220 |
| - lambda do |x, instance, benchmark_gem| |
221 |
| - instance.keyword_args(a: 1, b: 2) |
222 |
| - |
223 |
| - x.report("#{benchmark_gem.benchmark_name}: (a:, b:)") do |
224 |
| - instance.keyword_args(a: 1, b: 2) |
225 |
| - end |
226 |
| - end, |
227 |
| - lambda do |x, instance, benchmark_gem| |
228 |
| - instance.positional_and_keyword_args(1, b: 2) |
229 |
| - |
230 |
| - x.report("#{benchmark_gem.benchmark_name}: (a, b:)") do |
231 |
| - instance.positional_and_keyword_args(1, b: 2) |
232 |
| - end |
233 |
| - end, |
234 |
| - lambda do |x, instance, benchmark_gem| |
235 |
| - instance.positional_and_splat_args(1, 2) |
236 |
| - |
237 |
| - x.report("#{benchmark_gem.benchmark_name}: (a, *args)") do |
238 |
| - instance.positional_and_splat_args(1, 2) |
239 |
| - end |
240 |
| - end, |
241 | 157 | lambda do |x, instance, benchmark_gem|
|
242 | 158 | instance.keyword_and_double_splat_args(a: 1, b: 2)
|
243 | 159 |
|
244 | 160 | x.report("#{benchmark_gem.benchmark_name}: (a:, **kwargs)") do
|
245 | 161 | instance.keyword_and_double_splat_args(a: 1, b: 2)
|
246 | 162 | end
|
247 | 163 | end,
|
248 |
| - lambda do |x, instance, benchmark_gem| |
249 |
| - instance.positional_splat_keyword_and_double_splat_args(1, 2, b: 3, a: 4) |
250 |
| - |
251 |
| - x.report("#{benchmark_gem.benchmark_name}: (a, *args, b:, **kwargs)") do |
252 |
| - instance.positional_splat_keyword_and_double_splat_args(1, 2, b: 3, a: 4) |
253 |
| - end |
254 |
| - end |
255 | 164 | ]
|
256 | 165 |
|
257 | 166 | # We benchmark different cases separately, to ensure that slow performance in
|
|
0 commit comments