Python에서 특정한 요소들을 공유하는 멀티코어 프로그래밍 방법

조회수 991회

DB에서 초기값들을 읽어와서 파이썬에서 튜플로 만들어서 들고 있습니다.

이 상황에서, 어떤 변수의 값을 바꿔가면서 연산을 대량으로 해야 합니다. 초기값 튜플은 읽기만 하며, 결과를 매번 쓰지는 않습니다. 오직 나온 여러 상황에서 결과값을 비교해서 가장 괜찮은 값만 살려둡니다.

독립적은 프로세스를 만들면(from multiprocessing import process ), 문제는 각 멀티 프로세스 마다 매 번 DB에서 값을 읽어주거나 혹은 DB에서 읽어준 값을 어딘가에 떨궈준 데이터 파일을 읽어와야 합니다. 계속.

멀티 쓰레드를 만들면.... GIL이죠 뭐;

어떤 하나의 변수 값을 굉장히 많이 바꿔가며 연산하여 그 변수 당 결과값을 리스트로 만들어 비교할 것이기 때문에, 그리고 그 연산 끼리는 서로의 영향이 없기에, 멀티코어 프로그래밍을 하면 극적으로 성능개선이 되리란 것은 명백한데, 저 초기값 공유하는 방법을 모르겠습니다. 초기값 개수가 정수 및 플로팅포인트 섞여서 한 100여개로 결코 작지 않습니다.

조언 부탁드립니다.

2 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)