본문 바로가기
숨터 가볍게 읽는 공간
이미지 차단
전체 베스트 최근
← programming 게시판

for 는 while 의 syntactic sugar 지만

codesaf..(codesafer) 2019-04-17 18:50 추천 0

왜냐하면 둘 다 진입시 반복조건을 판단하기 때문.


do-while 은 ( 아직 ) 다르다.


https://godbolt.org/z/sVqY1E


컴파일러는 아직 정교하지 않다.


https://godbolt.org/z/UtTy0F

댓글 18

  • 첨알았네 이건.. do while이 자주 안쓰여서 그런건가?

    점진적자살(58.126) 2019-04-17 18:59
  • 답글

    이거 count == 0 인 케이스랑 음수인 케이스랑 위아래가 똑같다는걸 증명해야하는데 컴파일러가 그정도 수준까지는 아니라서 힘듬

    0xrgb(0xrgb) 2019-04-17 19:01
  • 답글

    do while 이 반복블럭 밖에서 판단하는 구조니 해석 메카니즘이 다르다는것 뿐이야. 같은 기능일땐 같아야 정상이지만, 아직까지 그렇진 않아.

    codesafer(codesafer) 2019-04-17 19:02
  • 답글

    아 이거 rgb 말이 맞음. 내가 int 로했지.

    codesafer(codesafer) 2019-04-17 19:03
  • 답글

    그래도 -O3 로 하면 달라지는듯?

    codesafer(codesafer) 2019-04-17 19:07
  • 답글

    응 -O3 는 다름.

    codesafer(codesafer) 2019-04-17 19:08
  • 답글

    for / while 은 O3 에서도 동일한데 for / do-while 은 O3 에서 컴파일 결과가 다름

    codesafer(codesafer) 2019-04-17 19:10
  • 답글

    아마 SIMD 적용하는 과정에서 힘들어하는듯...

    0xrgb(0xrgb) 2019-04-17 19:15
  • 답글

    참고로 Clang 8 쓰면 상상도못한 최적화해줌

    0xrgb(0xrgb) 2019-04-17 19:16
  • 답글

    맞아. 짜보면 차이가 느껴지더라공. ( 난 O2 를 안쓰거든 )

    codesafer(codesafer) 2019-04-17 19:16
  • 답글

    오 그래? 뭔 등차수열의 합산쓰나? ㅋㅋ

    codesafer(codesafer) 2019-04-17 19:19
  • 답글

    옹 맞네 % 3 쓰고 -O3 하면 clang 8 에서도 다르게 나오긴 하군.

    codesafer(codesafer) 2019-04-17 19:23
  • 답글

    clang 은 O2 O3 차이가 없던가~

    codesafer(codesafer) 2019-04-17 19:25
  • 답글

    차이 있는데 더 최적화할게 없어서 그런듯

    0xrgb(0xrgb) 2019-04-17 19:27
  • 답글

    그런듯.

    codesafer(codesafer) 2019-04-17 19:27
  • 답글

    허 미.. 한수 배우고 갑니다...

    점진적자살(58.126) 2019-04-17 19:30
  • 즉, O2 에선 용량을 희생하지 않는 차원에서 최적화라 성능을 위한 최대 최적화라고 할 수 없으니 그나물에 그밥으로 보일 수 있는것.

    codesafer(codesafer) 2019-04-17 19:15
  • 답글

    clang / gcc 도 결과가 다르지만, 아무튼, do-while 은 다르다.

    codesafer(codesafer) 2019-04-17 19:35

다른 게시글

  • 진짜 금수저의 놀이. ㅇㅇ
    ♨2.85™(roidz) | 19.04.17
    추천 0
  • 프리서버 코드 하나도 모르겠는데 어쩌냐? [4]
    익명(119.200) | 19.04.17
    추천 0
  • 초코냠 카이스트냐 ㅇㅅㅇ
    Kyli(120.18) | 19.04.17
    추천 0
  • 좀 재밌거나 유익한 블로거 있을까?
    독학러(39.7) | 19.04.17
    추천 0
  • for문보다 while이 더 빠름? [1]
    익명(117.111) | 19.04.17
    추천 0
  • 서버 공부는 어떻게해야함??
    익명(117.111) | 19.04.17
    추천 0
  • 오늘저녁은 참치김밥으로 간다ㅋ [4]
    bluepick(bluepick3) | 19.04.17
    추천 0
  • 골고루 쓰는게 좋지 당연히
    o o(222.97) | 19.04.17
    추천 0
  • 서버 개발자한테 왜 유니티를 물어보는거야? [1]
    ㅇㅇㅇ(121.170) | 19.04.17
    추천 0
  • while 쓰는 곳. [4]
    liliilli(126.183) | 19.04.17
    추천 0
목록으로
읽기 전용 미러