연산속도도 빨라짐?
엄청큰 반복문 쓰레드 여러개로 돌리면 빨라짐?
f(125.177)
2018-01-17 09:46
추천 1
댓글 12
다른 게시글
-
외국인 많이 뽑고 조금이라도 영어로 대화하는 회사로 이직을 꼭 해야겟다일본게이(110.165) | 18.01.17추천 0
-
<긴급-필독> C / C++ 학원 2달만에 가능한게? [2]124214(116.38) | 18.01.17추천 0
-
요즘 안드로이드랑 아이폰 개발 어떰?ㅋㅋㅋ(223.38) | 18.01.17추천 0
-
<긴급-필독> 상위권 컴공 C / C++ 2주일만에 [6]3242(116.38) | 18.01.17추천 0
-
3년전에 쓴 코드 보고 하나 배웠다담당일진휴..(175.223) | 18.01.17추천 0
-
탈조선 베스트 글에 올라온 캐나다 밴쿠버 3년차, IT 회사 6개월차 [4]익명(121.188) | 18.01.17추천 1
-
태지 형 노래 듣느라 밤 샜다...손실압축알..(emevoluoyod) | 18.01.17추천 0
-
고통은 순간이다.익명(27.176) | 18.01.17추천 0
-
프로그래밍은 정리하고 증명하는 과정이다 [13]익명(123.215) | 18.01.17추천 12
-
윈도우 불법인증 크랙들 마소에서 왜 안잡음? [15]ㅂㄱㅂ(121.134) | 18.01.17추천 0
연산 속도가 빨라지는게 아니라 그냥 그거 도는동안 다른것도 독릴수 있는거 아닌가...
c# Parallel.for 로 돌리면 간단함 ^오^
기본적으로 쓰레드를 쓰는 이유는 "이거하는 동안 딴거도 하기 위해서"임. 그런데 이거하는 동안 딴거하려면 일반적으로 자원이 더 필요하게됨. 더 큰 문제는 "특정 메모리(변수)를 공유해야할때"임. 어느 한 쓰레드가 건드는 동안 다른 쓰레드가 접근못하게 블록해서 lock을 걸어야됨. 이 lock에 드는 비용도 무시 못하게됨. 즉, 전체적으로는 더 느려지는 결과를 만들기 쉬움. 물리시간으로 3초컷 정도 라면 걍 쓰레드 안돌리는게 이득. 또한 물리적으로 10분 20분 걸리더라도, 사용자가 굳이 뭘 할게 없고 무조건 최대한 빠르기만 하면 된다면 역시 쓰레드 안돌리는게 이득임. 그리고 병렬적으로 처리가능한 문제라면 병렬처리로 넘어가야지. 의외로 쓰레드가 꼭 필요한 경우가 생각보다 적음.
물론 필요없다는게 결코 아니지만, 보통 속도쳐 찾는답시고 자기 프로그램에 대해 제대로 점검도 안해보고 굳이 쓰레드로 만들어서 더 병신 만드는 케이스가 꽤 많음.
꼭 그런애들이 그런 역학관계를 잘 모르고 쓰레드 대충 썼다가, "쓰레드 썼는데 왜 더 느리나요? 컴퓨터 고장났나여? 프로그래밍언어가 구린건가여?" 이 지랄하는 애들 많음.
그래 ? 근데 어디 보니까 현대 운영체제는 멀티 스레드하면 cpu 병렬로 하게끔 작동한다는데
결과적으로 멀티 스레드 사용하면 cpu가 나눠서 연산처리하고 연산 속도 증가되는 효과 없지 않음?
없지 - > 있찌
그게 그렇게 쉬웠으면 수많은 똥꼬쇼도 없었겠지
님이 직접 돌려보면 되겠네요