Closed Badr-MOUFAD closed 5 months ago
I am -0.5 on this: it requires more code maintenance, it may compile too much stuff, and it does not reduce the time taken by compilation in the script.
The fact that it makes benchmarking easier is not enough IMO (we try to target users now, more than optimization researchers).
@Badr-MOUFAD @QB3 I'll close this, reopen if you feel againt it!
I discovered that we can pre-compile numba functions without having to run them by specifying the signature of the function in
@njit
By doing so, we transfer the entire compilation overhead to import time, hence, releasing our ourself from the first run to cache numba compilation (as done in benchmarks).
This is to be considered yet requires attention as we have many functions
The advantages are clear for small examples, I tried it also for a quite big code. However, I don't have much visibility on the impact of that on the whole package.
Also related to https://github.com/scikit-learn-contrib/skglm/issues/106