Используйте, например, 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 )
или есть лучший способ сделать это?