1
파이썬의 다중 처리 모듈에 대해 배우고 있습니다. 내 코드가 모든 CPU 리소스를 사용하도록하고 싶습니다.파이썬 멀티 프로세싱 쿼리
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}')
내가 얻을 출력은 이것이다 : 이것은 내가 쓴 코드입니다
With Parallel 0.8802454471588135
Without Parallel 0.00039649009704589844
나는 루프의 서로 다른 범위 값을 실험 또는 유일한 일 함수에 있지만 매번없이 인쇄 문을 사용하여 시도 병렬 실행이 빠릅니다. 제가 누락 된 것이 있습니까?
미리 감사드립니다.
은'작업() '함수를 대표 할 수 너무 간단합니다. 귀하의 경우에는 '프로세스'객체의 인스턴스화로 인해 오버 헤드가 발생하고 해당 기능이 작동하지 않는 경우가있을 수 있습니다. – RomanPerekhrest
피드백을주십시오. – georgexsh