1
실행하는 데 약 10 초 걸리는 프로세스가 있습니다. 다음 함수는 열 개 제목 항목에 대해 약 100 초가 소요됩니다 :Python을 사용하여 병렬로 함수 처리
for title in titles_to_update:
run_update_procedure(title)
이 절차를 병렬화하는 가장 좋은 방법 일 것입니다 무슨. 하겠습니까?
pool = Pool(2)
pool.map(run_update_procedure, list(titles_to_update))
이 문제를 해결하는 가장 좋은 방법은 무엇입니까?
병렬 처리로 코드 속도가 빨라지지는 않습니다. 병목 현상이란 무엇입니까? CPU? IO? 자원을 기다리고 있습니까? – alko
실제'run_update_procedure()'는 끝내기까지 약 20 초가 걸리는 API 호출입니다. 기본적으로 요청을 처리하고 필요한 정보를 API에서 기다리고 있습니다. – David542
CPU- 바운드의 경우, CPU 코어보다 많은 프로세스를 지정해도 아무 것도 얻지 못할 수도 있습니다. 어쨌든, 풀 "맵"기능 중 하나를 원하면 모든 프로세스에서 작업을 분산시킬 수 있습니다. 'apply_async()'는 전체 목록을 단일 프로세스로 전달합니다. 뭔가 해봐! ;-) –