A multicore architecture contains multiple processor cores that can execute calculations concurrently. Parallelizing code can use this capacity, but added threads do not guarantee faster results. section 7.2.2
When parallelism makes code slower
A bootstrap confidence-interval function was parallelized with four threads, yet the parallel version ran considerably slower. The original function used only 1.5% of available processing power, making it a poor parallelization candidate; thread overhead and Python's GIL could limit gains. section 7.2.2
