*статья не моя (внизу коперы)... просто понравилось как изложено (полезно почитать *оптимизаторам) 1) Какой бы ерундой вы не занимались с PHP, узкое место _всегда_ - БД. PHP - он как Буратино - тупОЙКАк... дрова. Lighttpd и Nginx позволяют разнести его по множеству физических серверов на раз без шума и пыли. Зарплата адекватного спеца по PHP в Москве - 30-45 тыс. рублей в месяц, стоимость аренды нормального сервера - от 3 тыс. рублей в месяц. А вы не знали ? 2) Какой бы ерундой вы не занимались - 30-60% производительности (возможно и больше) PHP-кода решит правильно выбранный и настроенный акселератор. 3) Серебряной пули нет. Не важно, какой концепт вы применяете - строгое ООП (в стиле Zend Framework), функции в стиле PHP4 (или ограниченное ООП) или вообще лапшу в стиле "PHP для чайников" - ни одна из этих парадигм не даст ощутимый прирост производительности, если конечно ваши программисты не выше как минимум на голову. 4) Самый быстрый код - это код, которого нет. И уж точно - когда нет запросов к БД (см. п.1). Так что кеширование - это безусловно то, с чего начинается высокая производительность. Смело забивайте на _любую_ оптимизацию, пока есть возможность что-то закешировать. Закешировать можно все. Вопрос лишь в том, как посылать уведомления о необходимости обновить определенные части кеша. (Возможно кто-то помнит баги сайта free-lance.ru, когда в разных местах одни и те же цифры были разными, из-за чего было много недоразумений. Это позор.) И как правило, чем выше уровень абстракции, тем меньше производительность кода, и тем больше возможность кеширования при тех же затратах человеко-часов. И в итоге на более высокой абстракции можно выжать большую конечную производительность за счет кеширования. Но это уже кто как умеет (см. п. 3). 5) Если вы считаете, что echo быстрее print - вы неудачник. В современных MVC-проектах как правило подобные фичи вызываются как максимум три раза: во front-контроллере, в AJAX-контроллере и в RSS-контроллере - то есть максимум три оператора вывода в стандартный поток на весь ваш большущий проект. 6) Если вы молитесь на Front-контроллер Zend Framework - это ваше право. Но его концепт "/key/value/" считают революционным люди, не видевшие ничего кроме ?key=value&foo=bar, но кто-то заюзал концепт /virtdir1/virtdir2/virtfile/, используя грязные хаки ERROR 404, задолого до повсеместного появления на виртхостингах (и очень задолго до появления VDS) mod_rewrite (и PHP5. Конечно, фронт-конроллер ZF очень гибкий, но не легче ли написать свой? Все вышенаписанное справедливо только для больших проектов, если вы пишете много маленьких - это не для вас (заюзайте стандартный Front Controller ZF и сосредоточтесь на легкости поддержки). 7) echo "preved $foo $bar"; echo 'preved ' . $foo . ' ' . $bar; echo 'preved ', $foo, ' ', $bar; sprintf('preved %1$s %2$s', $foo, $bar); Вы, как матерый профессионал хайлоада можете с закрытыми глазами сказать, какая конструкция быстрее? Расслабьте анус, батенька - вы неудачник. Вы можете точно и аргументированно сказать, какую концепцию выбрать в качестве стандартной в рамках большого проекта - респект. 8) Забудьте и навсегда пошлите в глубокий анус виртуальные хостинги, как ваш самый страшный сон. Идите и купите себе виртуальный выделенный сервер с правами root за >=150 рублей в месяц. И поставьте туда ваш любимый Debian/Gentoo/FreeBSD, и управляйте им как Root Всемогущий! Отныне вы свободны! 9) Если на вашей рабочей машине PHP работает под Windows - вы нюхаете цветы в противогазе. Если вы хотите стать профессиональным серверным программистом под *nix - смело сносите Windows и ставьте *nix (Linux, FreeBSD, OpenSolaris, etc...) Если такой цели нет - можете запускать *nix-сервер в виртуальной машине (Virtual Box, VMvare, etc...), но пожалуйста, не мучайте PHP - не гоняйте его под Windows... 10) Если на вашей рабочей машине PHP работает без акселератора - вы нюхаете цветы в противогазе, надетом на респератор, а поверх этих гламурных шмоточек на вас еще надет... ТАНК! Установите уже акселератор, черт возьми! (upd: имеется в виду development-машина) 11) Если вы считаете, что постигли PHP5 в совершенстве - вы неудачник. Всегда есть, чему научиться. Если вы точно знаете, у кого вам есть чему поучиться - можете дальше не читать. 12) PHP5 (PHP4 забудьте, как страшный сон!) - очень коварная штука. Людей там слишком много. Большинство программистов находятся на уровне "ниже плинтуса". Причем некоторые из них умудряются писать умные книги (кстати, я до сих пор не видел ни одной нормальной книги по PHP5), и учить людей "тонкостям программирования на PHP" множеством других способов. Научитесь отделять зерна от плевел - то есть чайников от профессионалов, этот навык будет для вас одним из важнейших. Учитесь у профессионалов. Может быть, вы не представляете, сколько можно потерять времени, пытаясь учиться чему-то у чайников (и мне кстати тоже не верьте 13) И не верьте никому, кто заявляет, что PHP5 - "плохая" технология, пока не врубитесь в нее хотя бы на 90% и точно не будете знать, чего вам в ней не хватает автор: AirWorker Источник:http://habrahabr.ru/blogs/php/22881/
+1 нах? никогда об этом не задумывался. всегда юзал echo. а в целом.. ооп я использую очень редко. php5 юзаю только по тому, что там больше функций. но частичто согласен со статьёй. особенно с
А вот этого: В дополнение к этому нормальный менеджер памяти, который сможет отдать память обратно системе. Тут согласен - под винду многих вещей нет, многие ставятся через мегажопу. Ровно как ' быстрее ". Если считаете, что быстрее обратные варианты - тоже неудачник. Говорил в соседней теме об этом.