Skip to content

Commit 960d889

Browse files
committed
Add run_warmup for warming up comparisons
1 parent de6e1d3 commit 960d889

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

src/Comparison.jl

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,26 @@ function init_cat(cat, item_bank)
215215
cat(item_bank)
216216
end
217217

218+
function run_warmup(comparison::CatComparisonConfig{IncreaseItemBankSizeExecutionStrategy})
219+
strategy = comparison.strategy
220+
size = strategy.sizes[1]
221+
subsetted_item_bank = subset(strategy.item_bank, 1:size)
222+
for (name, mk_cat) in pairs(comparison.rules)
223+
warmup_time = @timed begin
224+
cat = init_cat(mk_cat, subsetted_item_bank)
225+
for idx in 1:(strategy.starting_responses)
226+
Stateful.add_response!(cat, idx, strategy.responses[idx])
227+
end
228+
Stateful.next_item(cat)
229+
end
230+
total_compile_time = warmup_time.compile_time + warmup_time.recompile_time
231+
compile_frac = total_compile_time / warmup_time.time
232+
if compile_frac > 0.01
233+
@warn "Compilation during warmup" name compile_frac warmup_time
234+
end
235+
end
236+
end
237+
218238
function run_comparison(comparison::CatComparisonConfig{IncreaseItemBankSizeExecutionStrategy})
219239
strategy = comparison.strategy
220240
current_cats = collect(pairs(comparison.rules))

0 commit comments

Comments
 (0)