Closed theogf closed 1 year ago
Base: 94.32% // Head: 82.64% // Decreases project coverage by -11.68%
:warning:
Coverage data is based on head (
f647b40
) compared to base (eac3538
). Patch coverage: 65.45% of modified lines in pull request are covered.
:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.
It's really hard to say, when going with Cthulhu through the calls, it seems that the only type unstable calls are due to the DimensionMismatch errors thrown by Distances.jl
Hmm errors shouldn't cause type instabilities. Otherwise you could basically never throw errors in any function.
I honestly don't know how to find the underlying issue... if you have a method please share 😊
Hmm errors shouldn't cause type instabilities. Otherwise you could basically never throw errors in any function.
I was thinking of an eventuality:
When using a generator or Base.Fix2 we create a closure, which x
is part of. Maybe it's just too much for the compiler to treat in such nested cases?
@theogf any progress on this on your end? I'm happy to finish up the PR if you're busy
@theogf any progress on this on your end? I'm happy to finish up the PR if you're busy
I was thinking of finishing up this week-end.
Cool. I'll leave you to it then :)
Broadly LGTM. Just some formatting issues to resolve, then I think we're good to go
edit: also, sorry for taking a few days to review this -- have been busy with work etc :(
No worries I think we are all on the same boat now :laughing:
Summary This adresses #485 by bringing a similar solution from #459. It goes slightly differently by avoiding a closure entirely. This also add tests for checking that on the culprit kernel, the type stability is maintained. Regarding performance, it seems to not change anything (maybe marginally better).
master:
this PR:
This also refactors a part of
TestUtils.jl
to run withtest_with_type
so that we can reuse this functionality for different tests.Breaking changes Non-breaking