-
Notifications
You must be signed in to change notification settings - Fork 18
Separate the tests for coverage versus non-coverage #8
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
Conversation
If this works well, we can reproduce this pattern in other repos where the test suite performance really slows down when code coverage is enabled. |
Codecov Report
@@ Coverage Diff @@
## master #8 +/- ##
==========================================
- Coverage 82.92% 77.87% -5.06%
==========================================
Files 7 7
Lines 123 113 -10
==========================================
- Hits 102 88 -14
- Misses 21 25 +4
Continue to review full report at Codecov.
|
Wow, look how fast! |
29c47e7
to
4e85e7e
Compare
Note that different matrix sizes hit different code paths. |
Inside if M * K ≤ _Mc * _Kc && A isa DenseArray && C isa StridedArray && B isa StridedArray && #
(stride(A,2) ≤ 72 || (iszero(stride(A,2) & (VectorizationBase.pick_vector_width(eltype(A))-1)) && iszero(reinterpret(Int,pointer(A)) & 63)))
macrokernel!(C, A, B, _α, _β)
return C
end a check for whether we should just call do_not_pack_B = (B isa DenseArray && (K * N ≤ _Kc * _Nc)) || N ≤ LoopVectorization.nᵣ To check if we should skip packing B. |
I wonder if this kind of pattern could be useful in other test suites (LoopVectorization.jl, VectorizationBase.jl, PaddedMatrices.jl, Gaius.jl, etc.). Of course, it's only useful in cases where the test suite time greatly increases between coverage disabled and coverage enabled. |
The beta != 0 code path actually isn't getting hit anymore. |
Yeah worst case we can just add unit tests to make up the coverage. I'll open a PR in a few minutes. |
No description provided.