if문을 삼항 연산자로 속도 개선 - 테스트 결과 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

if문을 삼항 연산자로 속도 개선 - 테스트 결과 정보

if문을 삼항 연산자로 속도 개선 - 테스트 결과

본문

삼항 연산자가 빠르다는 잠돌님의 팁이 있어서 실제로 그런가 궁금하기도 하고, 잠도 안오고 해서 다음과 같이 2가지 소스를 이용해 테스트해봤습니다.

<소스1>
for($i=0; $i<n; $i++) {
$j = rand(0,1);
$a = ( $j == 1 ) ? true : false;
echo $a;
}

<소스2>
for($i=0; $i<n; $i++) {
$j = rand(0,1);
if ( $j == 1 ) $a = true;
else $a = false;
echo $a;
}

결과
<소스1>
n=10
0.000264167785645
n=100
0.000355958938599
n=1000
0.00135087966919
n=10000
0.0113849639893
n=100000
0.112245082855

<소스2>
n=10
0.000261068344116
n=100
0.000358104705811
n=1000
0.00132989883423
n=10000
0.0112760066986
n=100000
0.111699104309

저의 결과는 "차이가 없다"로 나왔네요..
잠돌님께 딴지 걸려는 건 아니고요, 그냥 이런 결과가 있다라고 말씀드리는 겁니다. ^^;
추천
0

댓글 3개

<소스1>
for($i=0; $i<n; $i++) {
$j = rand(0,1);
echo ( $j == 1 ) ? true : false;
}

이렇게 써야 삼항 연자자"를 쓴 보람이 있지 않을까요?
속도야 별 차이 없을 거라 생각합니다.
어차피 둘다  참이냐 거짓이냐 비교하고 실행되기 때문에 별차이 없다고 들어습니다.
switch 문도 같다고 하던데요 그런데 갠적으로 깔끔한 소스가 좋쵸 ^^
전체 3,309 |RSS
그누4 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT