Fix threading - #707
Conversation
|
Can you clarify what the implications of this are (performance?), and whether we fallback in practice (production) — and if so, how we can avoid that. It seems like this might silently introduce performance regressions, depending on environment. |
The implications are that in environments that don't have This will lead to a regression in environments without those libraries, because those will fall back to the slower The required libraries should be available on all our production platforms. It might of course fall back in some user environment that we don't control. Alternatives:
|
|
Have you looked into our actual envs — when you say "should be available", does that mean can be installed or are installed? What environments do not have |
I mean "can be installed". |
Maybe, but then we don't catch issues like this. |
|
I don't really think this is a big change. The code already falls back to the non-numba implementation if |
Hmm, does seems odd. Isn't it what the wavelength-LUT code wants to rely on @nvaytet? Should it be added, for
Knowing "I have to install numba to get the fast implementation" is relatively easy, knowing that there might be a silent fallback to a slow implementation if some threading library (the user may have never heard of) is not available is arguably worse. |
Right now the user still has to remember to install some threading library, or they might see random crashes. |
In other words, it is not silent, that is my point. I think not silently degrading performance is better. |
Fixes the failing weekly tests on MacOS: #705