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 문도 같다고 하던데요 그런데 갠적으로 깔끔한 소스가 좋쵸 ^^
© SIRSOFT
현재 페이지 제일 처음으로