ProcessPoolExecutor

python 메모

[python] ProcessPoolExecutor로 분할+병렬 연산

대용량 데이터를 처리할 때 여러개의 프로세스로 분할하여 처리하고 다시 합치고 싶은 경우들이 생각보다 빈번하다. 이때 concurrent.futures.ProcessPoolExecutor를 사용하면 매우 간단하게 처리할 수 있다. 매우 긴 배열을 process 개수만큼 잘라서 동일한 연산을 수행하고 최종 결과를 얻어오는 상황에서 사용할 수 있는 코드는 다음과 같다. 이는 배열 뿐만 아니라 pandas DataFrame 등에도 유용하게 사용할 수 있다. * ProcessPoolExecutor 병렬 연산 과정 배열을 process 개수로 나눠 chunk size 크기로 자른다.(메모리 효율성을 위해 인덱스만 저장) 배열에 적용할 함수를 정의한다. 함수를 병렬로 실행한다. 2번에서 주의할 점은 함수가 fork ..

Fine애플
'ProcessPoolExecutor' 태그의 글 목록