조회 수 413 추천 수 0 댓글 4
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

if문이 비효율적인 연산을 가지기 때문에 if문의 수가 적으면 적을수록 좋다고 하는데


if문만 그런거임? 아니면 조건 연산자 자체가 연산을 많이 잡아먹음?

그냥 int a= ( 식1 > 식2 ) (저렇게 하면 참이면 a에 1, 거짓이면 a에 0이들어감)이런식으로 해도 사양을 잡아먹는거임?

그리고 (식1 > 식2)?식3:식4; 같은 조건문도 if문처럼 연산을 많이 잡아먹음?





?
  • ?
    firstlike 2012.06.29 06:39

    네 그렇습니다. 똑같아요
    그리고 if 문 한두개에 성능이 많이 차이나지는 않구요.
    예를들어 연산을 1초에 1000번 하는 프로시저가 있을때, 그 프로시저 안에 if문이 하나 있으면
    1초에 1000번 하는거고, if문이 두개 있으면 2000번 하는거겠죠? 당연한 말이지만
    이런식으로 반복된 상황에서의 코드는 성능에 영향을 미치게 됩니다

  • ?
    A.미스릴 2012.06.29 07:02
    답변 감사합니다.
  • ?
    2012.06.29 17:22
    우선 모바일이라 미리 양해를

    기억하실는지
    전에 이천에서 커맨드 속도측정했던 iriaroan입니다
    그 때 변수번호의변수 그거만큼이나 신경쓸필요 없는거에요

    애초에 조건문이 느리다고 안쓸순 없잖아요
    어디서 들으섰는지는 모르겠지만
    불필요한 부분을 제거하자는 요지로 한 말일겁니다
    혹은 조건이 되면 대신 switch문을 쓰라거나

    자세한건 어셈블리까지 내려가봐야 알겠지만 얕은 지식으로 읊자면
    저 괄호식 제어문이 트루나 펄스값을 반환합니다
    곧 변수에 대입하면 일이나 영이 되는이유이긷 하고
    이프문은 매번 이 값이 참인지 체크하는겁니다
    따라서 얼스이프문이 길어질수록 스위치문보다 느려지는건 당연하구요

    아래 쓰신 물음표 콤마부분 역시 참인지 판단해서 분기하는겁니다
    이프얼스문이랑 똑같아요 실제로 대부분의 컴파일러에서 같은 결과를 뱉구요
    다만 저는 트래픽에 민감해서 짧고 활용이 편한 이쪽을 선호하는데 대신 가독성이 떨어지는게 차이라면 차이

    어떤언어를 어떤환경에서 쓰시는지는 모르겠지만
    제가쓰는 서버에서 php기준으로 이프문 천만번 돌리는데 십분의일초도 안걸려요

    그깟 미세한 퍼포먼스 얻자고 가독성이나 확장성을 포기하느니 그냥 편하신대로 하시고
    불필요한 곧 압축할 수 있는 로직이 있는지 찾는게 더 생산적이라고 봅니다
  • ?
    2012.06.29 19:45

    옛날에 구문간 속도차이 테스트한다고 만든 페이지가 있는데, 집에와서 if에 관해 수정해보았습니다.
    for문 자체에 소요되는 시간을 제외하면 오히려 마이너스값이 나올 때도 있습니다.
    무슨뜻이냐면 서버 상태에 따라 매 실행 오차가 생기는데 그 오차값도 못메꿀만큼 적은시간이 소요된다는거죠.

    http://specialme.cafe24.com/temp/test.php


List of Articles
번호 제목 글쓴이 날짜 조회 수 추천 수
공지 제2회 인디사이드 게임제작대회 출품작 리스트. 189 인디사이드운영자 2016.10.24 31879 0
공지 인디사이드 활동 규정.(ver.20160119) 192 천무 2015.02.16 33659 1
23537 헤비메탈에 대한 발언 염산줘목말라 2005.05.17 2226 2
23536 창조도시 리뉴얼에 관해서 1 천무 2005.05.18 2387 6
23535 게임 심사단은 그대로 사라진건가요? 타다기 2005.05.19 1763 0
23534 조영남 씨의 발언에 대한 우리나라의 대처, 바람 직 한가? 럭키미라클 2005.05.20 1939 1
23533 리뉴얼에 대한 생각 허클베리핀 2005.05.20 1839 0
23532 귀차니즘에 대한 이야기 1 HitMan 2005.05.21 1712 0
23531 100%정의실현 가능 여부 1 크레시스 2005.05.21 1904 0
23530 진실을 모르고 평화롭게 사는 게 나을까, 진실을 알고 불행하게 사는게 나을까? 1 인간이아냐 2005.05.21 1970 0
23529 창조도시 마크.. Marine 2005.05.22 1924 0
23528 창작글 게시판의 시란에서... 폐인12단 2005.05.22 1685 1
23527 만화 대여점이 과연 나쁜건가..? (글 추가) dr_쟈칼 2005.05.23 2151 3
23526 게임을 제작하는 꿈나무들에게 필요한 정보및 조언. 독고進 2005.05.23 1678 3
23525 진실은 언젠가는 꼭... 밝혀진다!!! - 진실속으로 - HitMan 2005.05.23 1633 0
23524 인간은 과연 감정적인가? 1 kalay 2005.05.23 1489 0
23523 한단고기(환단고기)그 진실은? Fim 2005.05.24 1372 0
23522 두발자유(율)이건 체벌이건, 학생 인권에 관해 아슈크 2005.05.25 1329 0
23521 황우석 박사의 인간배아복제, 생명윤리? 불치병치유? 팔라스나인 2005.05.26 1334 0
23520 죽을 날짜를 아는것이 나을까? 모르는 것이 나을까? 11 스프링필드 2005.05.27 2681 0
23519 아이들의 인권.... 차칸BOY☆ 2005.05.27 1114 0
23518 만화책의 폐해 비욘더 2005.05.27 1214 0
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 1177 Next
/ 1177


[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)