질문.

네이쳐   
   조회 2588   추천 0    

파이썬에서

from multiprocessing import Process 를 이용해서 어떤 계산을 자동화 했는데,

계산해야 하는 목록을 한번에 많이 읽어서 계산을 하면 느려지는게 맞는 건가요??


cpu만 사용하고, core는 40개 이고, RAM은 128GB 입니다.

100만 개의 목록을 (리스트로) 읽어서 계산을 하면, 10분에 약 6,000개를 계산하고

4만 개의 목록만 읽어서 테스트를 해보니까, 10분에 약 4만 개 계산을 끝냅니다.


램이 부족한것도 아닌거 같고,

일단 목록을 읽고 나서는 비슷하게 빨라야 한게 아닌가요??

짧은글 일수록 신중하게.
에아빠 2021-06
중간에 끊지마시고 전체 끝나는 기준으로 비교해봐주세요.
     
네이쳐 2021-06
속도에 차이가 있어 보여도,
목록 읽는 시간과 계산 시간을 모두 합하여 전체로 따지면 비슷하다는 말씀인가요??
트니아빠 2021-06
저는 Python보다는 R에서 코딩하는 편입니다.
자료를 메모리에 많이 올릴 때와 조금 올릴 때 실행 속도가 차이가 나는 것은 확실한 것 같습니다.
계산이 서로 독립적이라면 하나의 계산을 40개로 코어에서 분산 계산하는 방법보다는 동시에 40개를 계산하는 편이 좋을 것 같습니다.
어떻게 계산 결과를 모아서 종합할 것이냐도 고민거리인 것 같습니다.
요즘엔 SSD를 많이 이용하니 저는 그냥 파일로 결과를 저장한 후, 나중에 다시 불러와서 종합하는 무식한 방법을 이용합니다.
     
네이쳐 2021-06
각 계산은 독립적이라서 40개에 분산을 해서 하고 있습니다~
각 계산마다 결과 파일이 생성되고,
모든 계산이 끝나면, 결과 파일 들을 읽어서 또 다음 계산으로 넘어갑니다~
저도 말씀하신 방법대로 하고 있네요 ㅎㅎㅎ
chis 2021-06
메모리에 올려놓는 시간을 측정해보고 실제 연산에 들어가는 시간을 측정해보세요.
     
네이쳐 2021-06
읽는 시간도 모으면, 긴 시간이 되겠네요.
다시 포함해서 측정해봐야겠습니다~


QnA
제목Page 750/5724
2014-05   5234966   정은준1
2015-12   1761327   백메가
2021-06   4914   lazarus
2021-06   3097   민병훈11
2021-06   5998   엠플
2021-06   3917   VSPress
2021-06   2347   사랑하라
2021-06   2276   네이쳐
2021-06   3099   프랑
2021-06   5970   negoist
2021-06   2589   네이쳐
2021-06   2184   김민수2
2021-06   3117   zestyus
2021-06   2166   박문형
2021-06   2829   zestyus
2021-06   2516   나요
2021-06   3607   양시열
2021-06   5308   통신버필
2021-06   2761   보라매
2021-06   2331   명랑
2021-06   2755   머리감자
2021-06   3039   비가내리는