Возьмем, например,numpy.sin()
Следующий код вернет значение синуса для каждого значения массиваa
:
import numpy
a = numpy.arange( 1000000 )
result = numpy.sin( a )
Но у моей машины 32 ядра, поэтому я хотел бы их использовать. (Накладные расходы могут быть нецелесообразными для чего-то вроде numpy.sin()
, но функция, которую я на самом деле хочу использовать, немного сложнее, и я буду работать с огромным объемом данных.)
Это лучший (метод чтения :самый умный или быстрый )метод:
from multiprocessing import Pool
if __name__ == '__main__':
pool = Pool()
result = pool.map( numpy.sin, a )
или есть лучший способ сделать это?