-
Notifications
You must be signed in to change notification settings - Fork 20
More benchmarks #142
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
More benchmarks #142
Conversation
Codecov Report
@@ Coverage Diff @@
## master #142 +/- ##
=======================================
Coverage 55.14% 55.14%
=======================================
Files 10 10
Lines 457 457
=======================================
Hits 252 252
Misses 205 205 Continue to review full report at Codecov.
|
d923f54 to
58fe147
Compare
|
quick question: is this benchmark against julia 1.6-dev or julia 1.5.1? This is worse than I would expect. |
|
1.5.1 (good question, I edited the above to clarify this) |
|
Here's current Julia 1.6 master (9f6d4ddba530dff32353286a563bf03cf1c8e375, which incorporates improvements from JuliaLang/julia#37277): |
|
That's better, but wait till you see it with JuliaLang/julia#37559: Only the I should say that these were obtained by redefining reinterpretc(::Type{T}, a::AbstractArray) where T = reinterpret(reshape, T, a)
reinterpretc(::Type{C}, a::AbstractArray) where C<:Colorant = reinterpret(reshape, ccolor(C, eltype(a)), a)and commenting out all other |
|
Oh my god that's incredible! 🚀 🚀 🚀 |
|
It mostly comes down to giving LLVM enough info that it can unroll the inner loop. |
This adds more benchmarks, specifically ones for
Float32(which due to smaller width thanFloat64accentuates the benefits of vectorization) and for cartesian-indexed views of arrays (which exercise cartesian indexing).Here's the current status on 1.5.1 (which is not good):
Improving this on Julia 1.6 is a work in progress.