.NET에서 PHP로 전환한지 4년이 지났고 최근에는 고성능을 추구하기 시작했습니다~~
그래서 블로그를 써야겠다는 생각이 들었습니다~
먼저 발견해 볼까요~
코드 복사 코드는 다음과 같습니다.
$arr = array(
'attr1' => 1 ,
'attr2' => 1 ,
'attr3' => 1 ,
)
$startTime( true ); 1000 ; $i )
{
if( isset( $arr['attr1'] ) )
{
}
if( isset( $arr['attr2'] ) )
{
}
if( isset( $arr['attr3'] ) )
{
}
}
$endTime = microtime( true )
printf ( "%d us.n" , ( $endTime - $startTime ) * 1000000 )
$startTime = microtime( true )
for( $i = 0 ; $i < 1000 ; $i )
{
foreach( $arr as $key => $value )
{
switch( $key )
{
case 'attr1':
break
case 'attr2':
break;
case 'attr3':
break
}
}
$endTime( true ); >printf( "%d us.n " , ( $endTime - $startTime ) * 1000000 );
위 코드
의 출력 결과는
코드는 다음과 같습니다.foreach( $arr as $key => $value ) {
스위치 ( $key ){
case 'attr1':
break
case 'attr2':
break
case 'attr3':
break; }
}
은
foreach ( $arr as $key => $value ) { if( $key == 'attr1' )
{}
else if( $key == 'attr2' )
{
}
else if( $key == 'attr3' )
{
}
}
이해하려면,
여기에서 알 수 있듯이 두 번째 코드는 배열의 키 개수에 따라 1 2 3의 숫자로 계속해서 판단을 하게 되므로 첫 번째 코드의 판단 횟수는 3, 두 번째 코드의 판단 횟수는 3개입니다. 코드 세그먼트 판단 횟수는 6회
이므로 실행 효율성이 거의 두 배로 늘어납니다.
위에서는 PHP의 고성능 글쓰기에 대한 내용을 소개했으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.