Skip to content

Commit f88ebf2

Browse files
authored
Run gcscrub after warmup and remove unnecessary gc run for first sample
1 parent e86ce45 commit f88ebf2

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/execution.jl

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -109,13 +109,14 @@ end
109109
function _run(b::Benchmark, p::Parameters; verbose=false, pad="", warmup=true, kwargs...)
110110
params = Parameters(p; kwargs...)
111111
@assert params.seconds > 0.0 "time limit must be greater than 0.0"
112-
params.gctrial && gcscrub()
113-
start_time = Base.time()
114-
trial = Trial(params)
112+
warmup_start_time = Base.time()
115113
if warmup
116114
b.samplefunc(b.quote_vals, Parameters(params; evals=1)) #warmup sample
117115
end
118-
params.gcsample && gcscrub()
116+
warmup_time = Base.time() - warmup_start_time
117+
trial = Trial(params)
118+
params.gctrial && gcscrub()
119+
start_time = Base.time() - warmup_time
119120
s = b.samplefunc(b.quote_vals, params)
120121
push!(trial, s[1:(end - 1)]...)
121122
return_val = s[end]

0 commit comments

Comments
 (0)