Ich lerne über Python Multiprocessing-Modul. Ich möchte, dass mein Code alle meine CPU-Ressourcen verwendet. Dies ist der Code, den ich schrieb:Python Multiprocessing Query
from multiprocessing import Process
import time
def work():
for i in range(1000):
x=5
y=10
z=x+y
if __name__ == '__main__':
start1 = time.time()
for i in range(100):
p=Process(target=work)
p.start()
p.join()
end1=time.time()
start = time.time()
for i in range(100):
work()
end=time.time()
print(f'With Parallel {end1-start1}')
print(f'Without Parallel {end-start}')
Der Ausgang I bekommen, ist dies:
With Parallel 0.8802454471588135
Without Parallel 0.00039649009704589844
habe ich versucht, mit verschiedenen Bereichswerte in der for-Schleifen zu experimentieren oder Druck-Anweisung nur in Arbeit aber immer ohne Parallel läuft schneller. Gibt es etwas, das mir fehlt?
Vielen Dank im Voraus!
die 'Arbeit()' Funktion ist zu einfach repräsentativ. In Ihrem Fall haben Sie nur einen Fall, wenn ein Overhead durch die Instanziierung von 'Process'-Objekten und deren Funktion verursacht wird. – RomanPerekhrest
bitte Rückmeldung? – georgexsh