I am confused regarding the n_jobs parameter used in some models and for CV. I know it is used for parallel computing, where it includes the number of processors specified in n_jobs parameter. So if I set the value as -1, it will include all the cores and their threads for faster computation. But this article:-
https://machinelearningmastery.com/multi-core-machine-learning-in-python/#comment-617976
states that using all cores for training, evaluation and hyperparameter tuning is a bad idea. The crux of the article is as follows:-
1.)When using k-fold cross-validation, it is probably better to assign cores to the resampling procedure and leave model training single core.
2.)When using hyperparamter tuning, it is probably better to make the search multi-core and leave the model training and evaluation single core.
But common sense says that setting n_jobs = -1 everywhere will include all cores for faster computation and hence result in less run time. Can anyone clarify?