一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

php 高性能書寫

從.NET轉(zhuǎn)去做php4年了,最近開始追求高性能了~~
所以開始覺得是時候要寫寫博客了~
來段發(fā)現(xiàn)物先~
復(fù)制代碼 代碼如下:
$arr = array(
'attr1' => 1 ,
'attr2' => 1 ,
'attr3' => 1 ,
);
$startTime = microtime( true );
for( $i = 0 ; $i < 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 = microtime( true );
printf( "%d us./n" , ( $endTime - $startTime ) * 1000000 );

上面一段代碼
輸出結(jié)果是
us.
us.
然而,怎么看都是第一段比第二段繁瑣,而且結(jié)構(gòu)沒有第二段清晰,
那么為什么第一段會比第二段執(zhí)行快了這么多呢
我們可以看到第一段的代碼中,只有3個if,
那么第二段會有多少個呢。
我們拆開了switch這個東西,可以去看看他的基本實現(xiàn)原理。
如果switch中,每一段case中都是使用break;結(jié)束的話,
其實這個switch好比多個if{}else if{}

所以從這個機制,我們就可以把的
復(fù)制代碼 代碼如下:
foreach( $arr as $key => $value )
{
switch( $key )
{
case 'attr1':
break;
case 'attr2':
break;
case 'attr3':
break;
}
}

轉(zhuǎn)換成
復(fù)制代碼 代碼如下:
foreach( $arr as $key => $value )
{
if( $key == 'attr1' )
{

}
else if( $key == 'attr2' )
{

}
else if( $key == 'attr3' )
{

}
}


去理解,
從這里就可以看到,第二段代碼會因應(yīng)數(shù)組中的鍵的個數(shù)去不停地作出判斷次數(shù)為1+2+3的判斷,所以變成了第一段代碼判斷次數(shù)是3,而第二段代碼判斷次數(shù)是6次


所以就導(dǎo)致了執(zhí)行效率相差了接近一倍的速度。

php技術(shù)php 高性能書寫,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 久久精品大片 | 亚洲夂夂婷婷色拍ww47 | 看全色黄大色黄大片色黄看的 | 精品日韩欧美国产一区二区 | 91免费公开视频 | 婷婷综合丁香 | 亚洲视频二 | 国产91区| 婷婷丁香五月中文字幕 | 欧美五月婷婷 | 精品一区二区三区无卡乱码 | 欧美一级日韩一级亚洲一级 | 亚洲性网站 | 四虎永久在线精品免费影视 | 思思久久99热只有精品 | 亚洲午夜精品久久久久久成年 | 国产精品免费视频播放 | 91久久夜色精品国产网站 | 亚洲精品在线播放视频 | 性满足久久久久久久久 | 精品国产一区二区三区成人 | 丁香八月婷婷 | 伊人任线任你躁 | 国产免费一区二区三区 | 一级做a爰片久久毛片16 | 亚洲视频99| 久久r热这里有精品视频 | 亚洲黄色在线观看 | 天天色天天射综合网 | 国产美女精品一区二区三区 | 久久99精品国产99久久 | 劲爆欧美第一页 | 综合亚洲色图 | 日本aⅴ永久免费网站www | 国产视频精品视频 | 怡红院免费的全部视频 | 国产精品亚洲欧美日韩久久 | 国产精品免费一区二区三区 | 久久成人免费视频 | 欧美日韩中文国产一区二区三区 | 久久久久这里只有精品 |