julia> @btime wage1($pp)
0.017 ns (0 allocations: 0 bytes)
1.912
julia> @btime wage2($pr)
0.017 ns (0 allocations: 0 bytes)
1.912
julia> @btime wage3(.956)
0.017 ns (0 allocations: 0 bytes)
1.912
That the compiler defeated the benchmark.
julia> @btime wage1($pp)
0.017 ns (0 allocations: 0 bytes)
1.912
julia> @btime wage2($pr)
0.017 ns (0 allocations: 0 bytes)
1.912
julia> @btime wage3(.956)
0.017 ns (0 allocations: 0 bytes)
1.912
That the compiler defeated the benchmark.
Sorry, I’m a noob here. What does ‘compiler defeated the benchmark’ mean? What is the purpose of using ‘$’? Thanks
I recommend reading the QuickStart of BenchmarkTools.jl. It answers both questions.
If you use the Ref
trick to get around it, wage3
slows down as much as the others:
julia> @btime wage1($(Ref(pp))[])
1.267 ns (0 allocations: 0 bytes)
1.912
julia> @btime wage2($(Ref(pr))[])
1.269 ns (0 allocations: 0 bytes)
1.912
julia> @btime wage3($(Ref(.956))[])
1.268 ns (0 allocations: 0 bytes)
1.912