Shuhei Kadowaki
Shuhei Kadowaki
Yeah, there seems to be profitability for small cases. I will add more examples to BaseBenchmarks.jl (by using existing packages) and see what it will say.
@nanosoldier `runbenchmarks("inference", vs=":master")`
@nanosoldier `runbenchmarks("inference", vs=":master")`
@nanosoldier `runbenchmarks("inference", vs=":master")`
@nanosoldier `runbenchmarks("inference", vs=":master")`
Ok. While there are a few clear regressions, I believe the downsides in the other compiler applications outweigh them. I've been wanting to get rid of the special cases for...
@nanosoldier `runbenchmarks("inference", vs=":master")`
It looks like the regressions in cases such as `["inference", "allinference", "rand(Float64)"]` are indeed real. Should we go ahead regardless?
Besides that, this PR is ready to go. It has even fixed a few broken test cases.
I've done a deeper dive, and it looks like the regression is specifically caused by this code: https://github.com/JuliaLang/julia/blob/be3bc9af09deb28e51c06854278ce4de099f500d/base/error.jl#L95 Here’s what I found: ```julia julia> @newinterp LocalCacheInterp julia> l95(b::Bool, tag::UInt, i::Int)...