Гипотетически, если бы я создавал одно и то же приложение, используя несколько популярных / похожих фреймворков, например PHP (cakePHP | Zend), Django и Rails, должно ли потребление памяти у каждого было примерно одинаковым?
Кроме того, я уверен, что многие оценили или использовали каждый из них, и им было бы интересно, что вы выбрали и почему?





Трудно эффективно сказать, я бы сказал, что фреймворки PHP будут иметь в основном схожий размер, который на как правило меньше, чем у других фреймворков, таких как Rails и Django. Но это зависит от того, что вы включаете в качестве rails, например mongrel (прокси-сервер rails). В целом это также зависит от вашего кода, однако в большинстве случаев PHP упрощает работу с сервером. (Без языкового предубеждения я использую как PHP, так и Rails)
Нет, он будет сильно отличаться от одного фреймворка к другому.
Тем не менее, в большинстве случаев объем памяти, занимаемый фреймворком, не является определяющим фактором ни для производительности сайта, ни при выборе фреймворка. Обычно это больше вопрос использования правильного инструмента для работы, поскольку у каждой структуры есть свои сильные и слабые стороны.
Единственный из тех фреймворков, которые я использовал, - это CakePHP. Я обнаружил, что это неплохо с точки зрения занимаемой площади, однако он намного тяжелее обычного PHP без использования фреймворка, очевидно, но может быть хорошим компромиссом. Хорошее сравнение некоторых из самых популярных фреймворков PHP можно найти на http://www.avnetlabs.com/php/php-framework-comparison-benchmarks.
Память сейчас дешевая. Выбирайте то, что облегчит вашу разработку (обычно это то, что ваша команда знает лучше всего).
Но ... По моему опыту, Django не сильно требует памяти. Я запустил его на своем общем хосте с менее чем 100 МБ ОЗУ. Но мой опыт совершенно анекдотичен. YMMV. Если вы используете Django, вот несколько советов по снижению использования памяти.
РЕДАКТИРОВАТЬ: И не используйте зоп, если вам важен объем памяти.
Просто для некоторой точки зрения позвольте мне сообщить о реальном потреблении памяти для случая, используя веб-фреймворк Smalltalk AIDA / Интернет.
Для запуска 40+ веб-сайтов на одном образе Smalltalk на одном сервере в настоящее время требуется 330 МБ памяти.
Кодируйте с той структурой, которая вам больше нравится. Затем молитесь, чтобы ваше приложение стало достаточно популярным, чтобы вызвать проблемы с памятью. Нам всем должно повезти.