inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)

병렬성 2 - Futures(5-2)

WORK_LIST as_completed 완료되는 순서

251

박성현

작성한 질문수 6

1

안녕하세요 강의 잘듣고 있습니다.

현재 concurrent.futures 부분 as_completed를 사용해서 실습중인데요,

ProcessPoolExecutor로 실행하면 아래와 같이 출력되고

Future Result : 50005000, Done : True

Future Cancelled : False

Future Result : 5000050000, Done : True

Future Cancelled : False

Future Result : 500000500000, Done : True

Future Cancelled : False

Future Result : 50000005000000, Done : True

Future Cancelled : False

Time : 2.64s

 


ThreadPoolExecutor로 실행하면 아래와 같이 출력 됩니다.

Future Result : 5000050000, Done : True

Future Cancelled : False

Future Result : 50005000, Done : True

Future Cancelled : False

Future Result : 500000500000, Done : True

Future Cancelled : False

Future Result : 50000005000000, Done : True

Future Cancelled : False

Time : 0.78s

 


WORK_LIST에서 ProcessPoolExecutor와 다르게 ThreadPoolExecutor로 실행하면 연산이 더 느릴거 같은 두번째 원소가 첫번째 원소보다 더 빠르게 계산되는데 이유가 있을 까요?

django python

답변 1

1

좋은사람

네 안녕하세요.

이 부분은 연산(프로세스 클럭 스피드) , 사용자의 cpu 사양, L3, L2 캐시 등에 따라서 현저하게

달라질 수 있는 내용이예요.

하지만 일반적인 단일 연산은 프로세서가 월등하게 빠르게 수행됩니다.(첫번째)

지금같은 경우는 프로세스 간에 컨텍스트 스위치 부분에서 시간이 지체되어

쓰레드의 경우가 결과값이 좋은 것으로 생각됩니다.

다만, 해당 소스코드를 단일 연산으로 변경 후 수행하면 프로세스가 결과가 더 좋을거예요.

 

loop is not defined

0

50

1

가상환경 설정이 안됩니다

0

47

1

__le__, __ge__ 관련 질문

0

46

0

atom 서비스 종료

0

57

1

atom 서비스 종료

0

55

1

진도미확인 (진도가 안 넘어감)

0

86

1

RuntimeError: There is no current event loop in thread 'MainThread'

0

130

1

chapter 07-01 실행 오류

0

109

1

Chapter05-04 : sum_func의 합이 이중 출력됩니다.

0

123

2

45. 병렬성 2 - Futures(5-1) wait가 의도된 대로 동작하지 않습니다.

0

142

2

멀티스레딩 - 44. 병렬성 1 - Futures(4-2)

0

119

2

chapter05_02 클로저 질문사항 !

0

95

1

LV1 설정

0

128

2

매직 메소드의 호출 방법 차이 문의

0

180

2

왜 numbers리스트를 만들때 str으로 숫자를 감싸나요?

0

142

2

스크랩핑 실습 중 Mac OS 인증서 문제

0

163

1

AsyncIO 멀티 스크랩핑 실습 예제 관련 질문

0

208

1

강의자료가 영상과 다릅니다

0

293

2

closure.cell_contents 초기화 하기 문의

0

177

2

map함수 사용 시, list변환 방법 문의

0

392

2

__mul__ 백터 * 숫지, 백터 * 백터 처리

0

175

1

del처리후 질문입니다.

0

210

1

car_list(car1,car2,car3) 인스턴스 tuple 타입 문의

0

263

1

coroutine에 대한 질문

0

274

1