Скорость многопроцессорной обработки Python

Я написал этот фрагмент кода, чтобы протестировать многопроцессорность Python на своем компьютере :

from multiprocessing import Pool

var = range(5000000)
def test_func(i):
    return i+1

if __name__ == '__main__':
    p = Pool()
    var = p.map(test_func, var)

. Я замерил это с помощью команды времени Unix, и результаты были:

real 0m2.914s
user 0m4.705s
sys  0m1.406s

Затем, используя те же varи test_func(), я рассчитал:

var = map(test_func, var)

и результаты были

real 0m1.785s
user 0m1.548s
sys  0m0.214s

Разве многопроцессорный код не должен быть намного быстрее, чем старый добрый map?

5
задан user1475412 27 June 2012 в 15:25
поделиться