This is not a real issue, but I'd like to understand:
if __name__ == '__main__':
line to my script) I see the script starting 4 processes with
10 threads each. Each process uses about 25% of the CPU (total:
100%). Seems to work as expectedMy question: what is the point of using n-jobs (and joblib) if the the library uses all cores anyway? Am I missing something? Is it a Windows-specific behaviour?
It does not, if you specify n_jobs to -1, it will use all cores. If it is set to 1 or 2, it will use one or two cores only (test done scikit-learn 0.20.3 under Linux).