goto, 즉 unconditional jump는 쓸데 없는 무조건적인 브랜칭 때문에 파이프라인에 스톨이 발생하게되고 컴파일러의 주요 정적 최적화 기법인 트레이스 스케쥴링을 방해함
goto문이 해로운 이유는 그딴게 아닌데;;
익명(223.62)
2017-05-26 22:01
추천 0
댓글 27
다른 게시글
-
가상화폐 관심 있는놈은 지금 들어가는게 맞음 [1]맞는말만함(68.196) | 17.05.26추천 0
-
근데 dba는 신입안뽑는데메 [15]익명(175.223) | 17.05.26추천 0
-
아죠씨들 이거 정말정말 정말 모르겠어요...챤(220.81) | 17.05.26추천 0
-
얫날에 회사 처음입사햇을때로미아(lostmia) | 17.05.26추천 0
-
endl만 버퍼 플러시하지 /n백날 출력해봤자 플러시안되요 좆문가님 [2]익명(223.62) | 17.05.26추천 0
-
형님덜 C++ 함수 앞에 & 붙이는 거 질문합니다. [22]댕청(220.92) | 17.05.26추천 0
-
자율주행자동차 관련 업종에 취업하려면 어떤걸 공부해야하나요 [5]ㅁㄴㅇ(117.111) | 17.05.26추천 0
-
cout이 느리다는 새끼들 특징 [3]익명(223.62) | 17.05.26추천 0
-
사실 산기대 겜공 갈뻔 했는데 [2]츄럴(rhdnfka94) | 17.05.26추천 0
-
빅데이터 분석 vs 네트워크 어느쪽이 더 전망있다보심니까?? [1]익명(121.152) | 17.05.26추천 0
그렇군요
얌마 정신차리자.Go To Statement Considered 이거 때문 아니냐
스톨이 발생한다는게 무슨 뜻임?
근데 고투 쓰지 말라고 교육받게 된건 다잌스트라 때문일 거임
장단점을 잘 아는사람들은 지금도 쓰고 잊음
있
스톨이 뭔지 모르는애는 파이프라인이 뭔지 먼저 검색
저거 예전에 어떤 아조씨가 지수승 복잡도 얘기하면서 최적화 못한다고 머라머라 하던데 먼소린지 하나도 모르겠더라
리눅스 커널에도 있ㅅ지 않음? goto?
뭔 소리? 무슨 반복문에서 매번 호출하는게 아닌이상 파이프라인 스톨이 문제되지는 않아. 요새 시퓨는 기껏해야 뎁스가 10단계에서 왔다갔다해
맞아 리눅스 커널에서도 고투 잘만 쓴다. 커널같이 고성능을 추구하는 곳에서도 쓰는데 무슨 파이프라인 스톨 걱정하냐
ㄴ뎁스5짜리도 브랜치 비용은 값비싼데 지랄..
커널에서 goto쓰는건 setjmp/longjmp 처럼 어쩔수없이 쓰는거고
최적화보다는 하이레벨 언어의 추상화를 깨뜨려서 그렇다고 생각함
아이피에 닉까지 같으니까 구경하는 사람은 돌아버리것소
브랜치가 왜나와. 고투는 브랜치가 아닌데? 그리고 파이프라인은 100퍼센 완벽하게 돌아갈수없어 원래 메모리작업 땜시 스톨은 생겨
고투써서 느려지게 만들려면 캐ㅂㅅ 아니면 오히려 힘들어 걍 고투 써라. 옛날 60년대와 지금은 컴파일러 최적화도 많이 다르단다
ㄴ고투 브렌치 맞아 등신아 unconditional branch
스톨이 영어로 뭐야?
jump가 곧 비조건적 브랜칭이고 그게 goto다 공부좀하고와아
고투는 에라 발생시 탈출용으로 쓰자
그리고 트레이스 스케쥴링은 개념나온때가 1980년 정도에 현대에 존나 쓰이고있는데 개솔작작
스톨은 stall
컴퓨터구조 꿀잼
그림자 분신인가 했어, 다중인격
스톨이 그러니깐 파이프라인에 구멍이 생긴다는 뜻인가여?
뭔 개소리야 유닉스 리눅스에서 goto 쓰는건 가독성 때문인데. if문 3단계로 중첩해서 쓰는거보다 goto 쓰는게 더 갈끔한 모든 경우에서 쓰이는거란다 - return 0;