말러83

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

· 2009-05-22 (금) 01:16:06 · 12614 · 3
삼항 연산자가 빠르다는 잠돌님의 팁이 있어서 실제로 그런가 궁금하기도 하고, 잠도 안오고 해서 다음과 같이 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

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

댓글 3개

2009-05-22 (금) 01:56:29
<소스1>
for($i=0; $i<n; $i++) {
$j = rand(0,1);
echo ( $j == 1 ) ? true : false;
}

이렇게 써야 삼항 연자자"를 쓴 보람이 있지 않을까요?
속도야 별 차이 없을 거라 생각합니다.
어차피 둘다 참이냐 거짓이냐 비교하고 실행되기 때문에 별차이 없다고 들어습니다.
switch 문도 같다고 하던데요 그런데 갠적으로 깔끔한 소스가 좋쵸 ^^
2009-05-26 (화) 00:58:27
삼항연산자와 if문을 비교하는 것 자체가
무리가 있습니다.

삼항 연산자는 결국 expression이고
if문은 statement입니다.
댓글을 작성하시려면 로그인이 필요합니다.

그누4 팁자료실

3,309건

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

+
제목 글쓴이 날짜 조회
09-06-04 조회 5,742
09-06-04 조회 2,650
09-06-04 조회 3,120
09-06-04 조회 4,925
09-06-02 조회 3,891
09-06-02 조회 2,491
09-06-01 조회 4,793
09-06-01 조회 3,370
09-05-31 조회 2.1만
09-05-30 조회 4,318
09-05-30 조회 5,382
09-05-29 조회 3,427
09-05-28 조회 5,050
09-05-27 조회 5,308
09-05-26 조회 4,836
09-05-24 조회 5,845
09-05-23 조회 5,278
09-05-22 조회 1.3만
09-05-21 조회 3만
09-05-21 조회 3,196