inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

병렬성 2 - Futures(5-2)

WORK_LIST as_completed 완료되는 순서

241

박성현

작성한 질문수 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 캐시 등에 따라서 현저하게

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

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

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

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

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

 

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

0

44

1

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

0

88

1

chapter 07-01 실행 오류

0

68

1

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

0

80

2

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

0

98

2

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

0

74

2

chapter05_02 클로저 질문사항 !

0

55

1

LV1 설정

0

91

2

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

0

133

2

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

0

99

2

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

0

132

1

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

0

170

1

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

0

258

2

closure.cell_contents 초기화 하기 문의

0

133

2

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

0

337

2

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

0

147

1

del처리후 질문입니다.

0

157

1

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

0

227

1

coroutine에 대한 질문

0

245

1

제너레이터 이터레이터 질문이 있습니다.

0

253

1

atom install package search not working

0

278

1

Magic Method - Not Implemented

0

402

1

가상환경 질문!

0

406

1

병렬처리 추가 질문이 있습니다.

0

248

1