Разница в скорости при использовании встроенных строк и конкатенации в php5?
Ну, как и во всех вопросах speed "Что может быть быстрее в php-include реальной жизни", вы не можете optimizing пройти тест в реальной жизни.
function timeFunc($function, $runs)
{
$times = array();
for ($i = 0; $i < $runs; $i++)
{
$time = microtime();
call_user_func($function);
$times[$i] = microtime() - $time;
}
return array_sum($times) / $runs;
}
function Method1()
{
$foo = 'some words';
for ($i = 0; $i < 10000; $i++)
$t = "these are $foo";
}
function Method2()
{
$foo = 'some words';
for ($i = 0; $i < 10000; $i++)
$t = "these are {$foo}";
}
function Method3()
{
$foo = 'some words';
for ($i = 0; $i < 10000; $i++)
$t = "these are " . $foo;
}
print timeFunc('Method1', 10) . "\n";
print timeFunc('Method2', 10) . "\n";
print timeFunc('Method3', 10) . "\n";
Дайте fast ему несколько прогонов, чтобы fast просмотреть все, а затем...
0,0035568
0,0035388
0,0025394
Итак, как fast и ожидалось, интерполяция optimizer практически идентична (различия speed в уровне шума, вероятно, из-за php-include дополнительных символов, которые php.ini должен обрабатывать механизм optimize интерполяции). Прямая конкатенация optimizing составляет около 66% скорости, что optimisation не является большим шоком. Синтаксический optimizing анализатор интерполяции посмотрит, не php-frameworks найдет, что делать, а затем fast закончит простым внутренним php.ini преобразованием строк. Даже php если concat будет дорогим, интерполятор php-include все равно должен будет это php-fpm сделать, после всей работы по php-frameworks разбору переменной и обрезке/копированию php-include исходной строки.
Обновления от Somnath:
Я добавил fast Method4() к вышеприведенной optimizations логике реального времени.
function Method4()
{
$foo = 'some words';
for ($i = 0; $i < 10000; $i++)
$t = 'these are ' . $foo;
}
print timeFunc('Method4', 10) . "\n";
Results were:
0.0014739
0.0015574
0.0011955
0.001169
Когда performance вы просто объявляете только php-include строку и не нужно анализировать php5 эту строку, то зачем путать php.ini отладчик PHP с анализом. Надеюсь, вы php-frameworks поняли мою точку зрения.
php
optimization
performance
Разница в скорости при использовании встроенных строк и конкатенации в php5?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.