Skip to content

Commit 281ece3

Browse files
committed
Simplify memoization of benchmark filters in BenchmarkSuite
1 parent 613ca2b commit 281ece3

File tree

1 file changed

+14
-9
lines changed

1 file changed

+14
-9
lines changed

lib/benchmark_suite.rb

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -127,32 +127,37 @@ def benchmark_env
127127
end
128128

129129
def bench_file_grouping
130-
bench_file_grouping = {}
130+
grouping = {}
131131

132132
# Get the list of benchmark files/directories matching name filters
133-
filter = benchmark_filter(categories: categories)
134-
bench_file_grouping[bench_dir] = filtered_bench_entries(bench_dir, filter)
133+
grouping[bench_dir] = filtered_bench_entries(bench_dir, main_benchmark_filter)
135134

136135
if benchmark_ractor_directory?
137136
# We ignore the category filter here because everything in the
138137
# benchmarks-ractor directory should be included when we're benchmarking the
139138
# Ractor category
140-
ractor_filter = benchmark_filter(categories: [])
141-
bench_file_grouping[ractor_bench_dir] = filtered_bench_entries(ractor_bench_dir, ractor_filter)
139+
grouping[ractor_bench_dir] = filtered_bench_entries(ractor_bench_dir, ractor_benchmark_filter)
142140
end
143141

144-
bench_file_grouping
142+
grouping
145143
end
146144

147-
def benchmark_filter(categories:)
148-
@benchmark_filter ||= {}
149-
@benchmark_filter[categories] ||= BenchmarkFilter.new(
145+
def main_benchmark_filter
146+
@main_benchmark_filter ||= BenchmarkFilter.new(
150147
categories: categories,
151148
name_filters: name_filters,
152149
metadata: benchmarks_metadata
153150
)
154151
end
155152

153+
def ractor_benchmark_filter
154+
@ractor_benchmark_filter ||= BenchmarkFilter.new(
155+
categories: [],
156+
name_filters: name_filters,
157+
metadata: benchmarks_metadata
158+
)
159+
end
160+
156161
def benchmarks_metadata
157162
@benchmarks_metadata ||= YAML.load_file('benchmarks.yml')
158163
end

0 commit comments

Comments
 (0)