text, php, тест, кавычки, метод, скорость, разница, правильно, плохо
|
Содержание
- Какую ковычку использовать ["] или [']?
- Продолжаем замерять скорости
- Другие интересные аспекты для ускорения работы
Какую ковычку использовать ["] или [']?
Вот честно, заколебало всем объяснять про разницу в кавычках. Научаться программировать через пятую точку и думают, что перцы супер пупер.
Правильное применение кавычек увеличивает скорость скриптов от 25 до 70 процентов! Поэтому выносите $переменные за пределы «текстовых строк»!
PHP операции заключенные в кавычки одинарные или двойны, а также распололжение переменных, сильно отражаются на скорость. Например в переменную $text запишем любую строчку типа «пробная строка». Делаем в цикле одно и тоже 1000 раз присвоение.
$t="text $text";// хреновой метод $t="text"; $t.=$text;// не лучший метод $t="text".$text;// неплохо $t='text'.$text;// правильно
| Cчетчик | Общее вpемя | Процент |
|---|---|---|
| тест 1 | 5.0616 |
100.0% |
| тест 2 | 4.9870 |
98.5% |
| тест 3 | 3.5911 |
70.9% |
| тест 4 | 2.9456 |
61.3% |
Вывод, никогда не пишите как в первом и втором варианте, да и третьего старайтесь избегать и тогда ускорите свою программу на 40%!
Продолжаем замерять скорости
Далее также давайте проверим читабельность таких строк, ну и за одним снова проверим скорость если будет лепить дальше фокусы
$t="text $text text $text text $text";// хреновый метод $t="text ";$x.=$text;$x="text ";$x.=$text;$x="text ";$x.=$text;// не лучший метод $t="text ".$text." text ".$text." text ".$text;// неплохо $t='text '.$text.' text '.$text.' text '.$text;// правильно
| Счетчик | Общее вpемя | Процент |
|---|---|---|
| тест 1 | 14.6506 | 100.0% |
| тест 2 | 9.5515 | 82.0% |
| тест 3 | 7.6894 | 50.0% |
| тест 4 | 5,8670 | 33.7% |
это мы измерили скорость, а теперь читаемость
echo "В PHP двойных кавычках переменная $text будет обработана и будет выведено её значение"; echo 'В PHP одиночных кавычках переменная $text не будет обработана - будет видно только её название'; echo 'Но быстрее и читабельнее смотреть '.$text.' переменную лучше в этой строке'; echo "особенно $tчитабельно $yтакие вещи $uзаколебешся разбираться"
Другие интересные аспекты для ускорения работы
- Выносите $переменные из «текстовых строк» - ускорение 25-40%
- Короткие переменные не более 7 символов - ускорение 15%
- Тормозят ли массивы в PHP? Вернее, как именно. Ускорение 40%
- Выносите многомерные массивы из «текстовых строк» - ускорение 25-30%
- Регулярные выражения: PHP(POSIX) vs Perl. Ускорение 60-200%
- Циклы: for, foreach, while, count/sizeof() - ускорение 15%-30%
- Для чтения файла file() быстрее, чем fopen+цикл - ускорение 40%
- Загрузка всех тестов (php файлы)
Рекомендуется также ознакомиться с отдельной статьей про кавычки при построении SQL запросов для работы с базой данных MySQL и MSSQL.
Многие будут утверждать что никакой разницы в ковычках не видят, но на самом деле она есть. Проявляется это уже на более менеее крупных проектах.
Например, в свое хостер заблокировал меня из-за того, что мои проекты существенно нагружали их хостинг. Псоел оптимизации я смог расмещать на самом дешевом тарифе до 10 своих проектов без уменьшения функционала. Так что вот. Скорость складывается из копеек.