Hmm, I'm concerned with the case where fetching from the disk is faster than what the CPU can process. It can be from long processing time, like my original use case, or, also if you're using SSD for the storage, which likely means that your processing time will be longer than data fetching time.

In my actual case, when I use this parallel code, the CPU is actually always at 100%, so I guess in my case the processing time is indeed taking significantly more time than data fetching.

And actually I don't use NLTK lemmatizer, just the stemmer. I believe changing the stemmer into lemmatizer will even increase the processing time (and I don't really like NLTK lemmatizer), and display the significance of the parallel version of `CountVectorizer` even more. I might even need to divert the text processing into OpenNLP (Java) in the same machine for better performance (unfortunately for some tasks OpenNLP is still better than NLTK), in which case the CPU is doing even more work.

And as noted previously, this update doesn't really increase the complexity of the `n_jobs=1` case, since in that case no parallelism will be used.


So, yes, this update is tailored to help users with heavy analyzers to use more of their available resources. Thanks for your concern and contribution (improving the speed by 4x is a LOT!)