[python-users] Multiprocessing unter Python 3.6.1

Joachim Sasse sassec1 at t-online.de
Mo Jun 19 13:21:30 CEST 2017


Hallo zusammen,

ich brauche einen Tipp, um mein Multiprocessing Testmodul ( kleine 
Kalkulation ) zu beschleunigen.  (Win 10,64, i7 4790k , 32G RAM)

Anzahl-Liste: 5000000   Time: 1.9154649782858315

from multiprocessingimport Pool
import math,time
wu = math.sqrt

def run_calc(x): return wu(x), x * x, x * x * x if __name__== '__main__': t0 = time.perf_counter()
     pool = Pool(4)
     result = pool.map(run_calc, (x for x in range(1, 5_000_001)),2000)
     t1 = time.perf_counter()

     print(len(result),t1-t0)

pool.close()
     pool.join()


das andere Beispiel ist Single-Threading mit und ohne  JIT aus numba - 
beides wesentlich schneller !

Anzahl-Liste: 5000000   Time: 0.8098236565761535     ohne JIT: 5000000 
1.530495929796201

import time, math
from numbaimport jit
wu = math.sqrt
@jit def calc(): l = []
     for x in range(1,5_000_001): l.append((wu(x),x*x,x*x*x))
     return l t1 = time.perf_counter()
l= calc()
t2 = time.perf_counter()
print(len(l),t2-t1)


Vielen Dank für alle Ideen,Tipps und Anregungen !
Joachim Sasse


-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://lists.uni-koeln.de/pipermail/python-users/attachments/20170619/a380fc38/attachment.html>


Mehr Informationen über die Mailingliste python-users