PHP优化/通用


PHP Optimization / General

这个问题可能很愚蠢,但对我来说,理解如何以正确的方式做到这一点真的很重要。

假设我们有以下脚本

<?php
//set count_bytes
$count_bytes = true;
//set count_bytes

$bytes = 0;
$url = "http://127.0.0.1:" . 8000;
$file_handler = @fopen( $url, "rb" ) or die( "Not Working" );
foreach ( $http_response_header as $h )
{
    header( $h );
}
while ( ! feof( $file_handler ) )
{
    $response = stream_get_line( $file_handler, 4096 );
    if($count_bytes === true)
    {
        $bytes += strlen( $response );
    }
    echo $response;
}
fclose($file_handler);
?>

正如你所看到的,我正在使用变量$count_bytes,这是bool。在while循环中,您可以看到每次都检查if语句。是否有任何方法来优化这一点,使检查将只做一次?

我想一个解决方案是使while循环2次,并调用我们想要的取决于$count_bytes的bool值,但这是太多的代码,当然,如果我们有巨大的代码,这是不好的。

谢谢你理解我

保持原样

代码分支到底是什么

代码分支被所有现代处理器所使用,它使得像你这样的情况不管if语句是否存在

代码分支让硬件猜测if语句是真还是假。如果猜对了,就会加速;如果猜错了,就会减速。在你的例子中,它会猜对100%