Что быстрее "Bla-bla $str" или "Bla-bla".$str - Глюки какие-то...

Статус
В этой теме нельзя размещать новые ответы.
Что быстрее "Bla-bla $str" или "Bla-bla".$str - Глюки какие-то...

Решил измерить скорость, написал вот такой скриптик( сразу скажу - не пинайте за оформление )
PHP:
<?php

function getmicrotime()
{
    list( $usec, $sec ) = explode( " ", microtime() );
    return( (float)$usec + (float)$sec );
}

$with_point = 0;
$non_point  = 0;
$name  	    = "Test";
$name1       = "Test";

// +----------------------------+
$str      = "";
$str1    = "";
$time1  = 0;
$time2  = 0;
$i          = 0;
$j          = 0;
// +----------------------------+


for( $i = 0; $i < 1000; $i++ )
{
	$time1    = getmicrotime();
	$str1    	= "Hello, $name1";
	$non_point += getmicrotime() - $time1;
}

for( $j = 0; $j < 1000; $j++ )
{
	$time2    	= getmicrotime();
	$str     	= "Hello, ".$name;
	$with_point += getmicrotime() - $time2;
}

echo "Без точек:	$non_point<br>";
echo "С точками:	$with_point";

?>
Так вот - все нормально - быстрее получается без точек, но если мы закомментируем выделенный участок, то ситуация меняется?...

p.s. если измерять скорость не в самом теле цикла, то все хорошо, т.е.
PHP:
$time1 = getmicrotime();
for( $i = 0; $i < 1000; $i++ )
    $str1 = "Hello, $name1";

$non_point += getmicrotime() - $time1;

$time2 = getmicrotime();
for( $j = 0; $j < 1000; $j++ )
    $str = "Hello, ".$name;

$with_point += getmicrotime() - $time2;
 

Кром

Новичок
>$str = "Hello, ".$name;

Это строка имеет смысл только в таком контексте:

$str = 'Hello, '.$name;

Не говоря уже о том, что все эти погони за миллионной долей секунды не имеют никакого смысла.
 

Фанат

oncle terrible
Команда форума
сейчас тебе многочисленно расскажут о бессмысленности такого тестирования
 
так дело не в том, какой это имеет смысл - так просто спортивный интерес...
Мне интерсно, почему когда инициализация просиходит до цикла, то результаты одни, а когда её( инициализации ) нет, т.е., насколько я понимаю, она происходит при первом исполнении тела цикла, результаты совершенно другие?..
 

Кром

Новичок
>так дело не в том, какой это имеет смысл

Дело как раз в этом. Например у меня твой тест показывает во всех случае меньшую скорость при точечной конкатенации.
И что теперь? Какие ты предлагаешь сделать нам выводы?
 
ага, каюсь - дурак....
Закачал на сервер - во всех случаях - одно и тоже....
Это мож потому, что дома windows...
 

ForJest

- свежая кровь
Тема закрыта.

Проблемы личного характера и бессмысленные споры между участниками не являются предметом обсуждения форума.
Обсуждайте их в привате.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху