ASP.NET MVC или PHP YII. Сравнение производительности

This page is available in English - ASP.NET MVC vs PHP YII. Performance comparison

Я член freelance команды AdvanceDev и к нам очень часто обращаются заказчики с просьбой разработать сайт или срм, именно на php. Если мы предлагаем разработку на asp.net, то в ответ слышим множество необоснованных аргументов против asp.net и в пользу php.

В данной статье я хочу разобраться с наиболее часто приводимым аргументами против asp.net. Стоит отметить, что тут и везде, под asp.net подразумевается asp.net mvc, а не asp.net web-forms. Это две разные технологии, как груша и яблоко, путать их между собой не стоит.

Я ни в коем случае не хочу умалить достоинства php, моя цель - доказать, что asp.net не хуже.

И так, самые распространенные "причины" по которым заказчики не хотят иметь сайт или систему на asp.net

  1. Asp.net устарел, а php это передовые технологии
  2. Для php есть множество программистов, которые смогут взять сайт в любой стадии и продолжить над ним работу. В то время как asp.net программистов очень мало.
  3. Для работы asp.net сайта нужен дорогой сервер, на обычном хостинге сайт работать не будет.
  4. Сайт написанный на asp.net работает медленней чем php варинат и начинает еще больше тормозить с приростом количества пользователей.

Asp.net устарел, а php это передовые технологии

Это совершенно не так. PHP был разработан в 1994 году и предназначался для разработки небольших сайтов. PHP - Personal Home Page, что в переводе означает Персональная Веб Страница. С тех пор php сильно вырос, последняя версия PHP 5.6 была выпущена летом 2014 года.

ASP.NET MVC был разработан в 2007 году и выпущен в открытое использование в 2009 году. Последняя версия asp.net mvc 5.2.2 вышла летом 2014 года.

Из сказанного выше можно сделать вывод, что asp.net mvc это более современная технология, тем не менее, обе технологии поддерживаются и развиваются с одинаковым темпом.

Для php есть множество программистов, которые смогут взять сайт в любой стадии и продолжить над ним работу. В то время как asp.net программистов очень мало

Для решения этого вопроса нужно четко определить, кто входит в разряд "программистов". Если asp.net и php изобразить картинкой, то результат будет примерно такой:

asp.net vs php Очевидно, что лесорубов, которые умеют пользоваться ножовкой, намного больше, чем лесорубов, которые смогут управиться с бензопилой. Но если кто-то умеет пользоваться ножовкой, это еще не значит, что он может валить лес.

Базовые знания php освоить проще, чем asp.net, поэтому все, кто хоть немного знают php, рекламируют себя как "php программист". Когда же доходит до разработки серьезных вэб-сайтов или вэб-систем, такие программисты проваливают сроки, сливаются и пропадают со связи.

К нам очень часто обращаются заказчики с просьбой "доработать сайт на php, так как его создатель не может сделать эту функцию" или "переработать сайт на php, так как он работает очень медленно и с ошибками, а его создатель получил деньги и пропал со связи". Но еще ни разу не было случая, когда к нам обратились с подобной просьбой для asp.net сайта.

На самом деле, программистов высокого уровня на php и на asp.net примерно одинаково. Очень часто квалифицированные программисты умеют программировать и на php, и на asp.net.

Любой программист, у которого есть пару лет опыта работы и несколько реализованных больших проектов и на php, и на asp.net mvc скажет, что в php не хватает множества полезных функций, которые упрощают и ускоряют разработку сайта или веб-приложения.

Для работы asp.net сайта нужен дорогой сервер, на обычном хостинге сайт работать не будет

Еще одно заблуждение. Цены на хостинг для php и asp.net не отличаются. Вот пример: http://www.1gb.ru/, даже самый минимальный тарифный план "Стандарт" уже поддерживает asp.net, а всего за 274р в месяц можно получить и MS-Sql Server, любой необходимой версии.

Для большого сайта, будь то php или asp.net придется арендовать виртуальный или реальный сервер, цены на сервера не отличаются.

Для php предпочтительней использовать операционную систему Linux, она бесплатна. В случае необходимости, php сайт можно с легкостью перенести на Windows сервер.

Windows это родная и предпочтительная операционная система для asp.net. Однако asp.net так же может работать и под Linux, с некоторыми ограничениями.

Стоимость месячной аренды Windows примерно 25 евро
(http://www.hetzner.de/en/hosting/produkte_rootserver/windows-standard/)

Стоимость покупки пожизненной лицензии:

  • Windows 2008 R2 - от $250
  • Windows 2012 R2 - от $500

Из-за того, что в php не хватает множества возможностей, которые есть в asp.net, разработка на php выходит дольше, а следовательно дороже, чем на asp.net. Из нашей практики, цена одного и того же проекта на php и asp.net отличается в 1,5-2 раза.

Небольшой расчет по проекту:

ASP.NET MVC + Windows + MS-Sql Server

  • Разработка системы - $2000
  • Операционная система - $500
  • MS-Sql Server - бесплатная версия
  • Итого $2500

PHP YII + Linux + MySql Server

  • Разработка системы - $3000
  • Операционная система - $0
  • MySql Server - бесплатная версия
  • Итого $3000

Как видим, разработка одной и той же системы на php обходится дороже, чем на asp.net, даже с учетом покупки лицензии Windows. Если вас не устраивает бесплатная версия MS-Sql Server, то всегда можно использовать MySql Server. MySql отлично работает под Windows.

Если же принять во внимание не только деньги, а еще сроки разработки и скорость работы приложения, то asp.net будет иметь еще более явное преимущество над php.

Сайт написанный на asp.net работает медленней чем php вариант и начинает еще больше тормозить с приростом количества пользователей

Наверное, самая большая причина, из-за которой заказчики "боятся" asp.net. Устаревший asp.net действительно тормозит и потребляет много ресурсов. Но asp.net и asp.net mvc это разные технологии, путать их между собой нельзя! Очень часто, php программисты не имеют никакого представления о том, что такое asp.net mvc и как эта технология работает, судят только по названию и утверждают, что asp.net mvc устарел и уступает php по всем параметрам.

Я провел тестирование производительности php и asp.net mvc под Linux и Windows. Для тестирования был создан небольшой сайт, в котором есть набор продуктов, набор заказчиков, набор заказов и набор позиций заказа. Всего четыре сценария тестирования.

На всех диаграммах, справа указано время в секундах, снизу указано кол-во пользователей сайта. Для удобства чтения я сократил некоторые название:

  • win – windows
  • asp.net – asp.net mvc
  • ms-sql – ms-sql server
  • mysql – mysql server

1. Импорт из текстового файла

Есть файл в котором находится список заказчиков. Необходимо прочитать данные из файла, отсортировать по алфавиту, найти кол-во гласных букв в имени заказчика и вывести результат пользователю.

asp.net mvc против php результат тестирования

Как видно из результатов тестирования, в данной задаче asp.net под windows несущественно уступает php под linux при небольшом кол-во пользователей и значительно опережает конкурента при большом количестве пользователей.

Несравнимо плохой результат показывают php под windows и asp.net под linux.

2. Экспорт в excel из базы данных

Необходимо выбрать всех заказчиков из базы, отсортировать по алфавиту, сохранить в excel файл и отдать пользователю ссылку для скачивания файла.

asp.net mvc против php результат тестирования

Во всех тестах побеждает asp.net mvc под windows в связке с ms-sql server, для выполнения той же задачи php под linux + mysql потребовалось более чем в два раза больше времени.

Почти такой же результат показала связка asp.net mvc под windows + mysql, тогда как asp.net под linux + mysql опережает php, но не на много. Связка php под windows + mysql еще раз очень сильно отстает.

3. Выборка и отображение товаров из базы

Поиск товаров по категории и части названия. Результат отобразить пользователю в виде таблицы.

asp.net mvc против php результат тестирования

И тут asp.net опережает php в любой связке. Стоит ометить, что mysql кэширует результат запроса и не выполняет одинаковый запрос несколько раз, если не было изменений в базе. Из-за этого mysql опережает ms-sql в данном тесте. Если вручную сделать кэширование для ms-sql, то результаты будут примерно одинаковыми.

4. Оформление заказа

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

asp.net mvc против php результат тестирования

В последнем тесте, связка asp.net mvc под windows + ms-sql с большим отрывом опережает все остальные варианты. Почти в два раза отстает php под linux + mysql, asp.net + mysql под windows и linux показывает неплохой результат, а php под windows и тут очень сильно отстает.

Средняя производительность по четырем тестам

asp.net mvc против php результат тестирования

Не трудно заметить, asp.net + ms-sql опережает php + mysql при любом количестве пользователей и чем больше пользователей, тем сильнее этот отрыв.

asp.net + mysql показывает примерно такой же результат как и php + mysql, но все же вырывается вперед,
asp.net + mysql под linux немного отстает от windows версии,
а php под windows работает так медленно, что его нет смысла даже показывать.

Все тесты проводились на одном и том же компьютере. Во время тестирования не была запущена ни одна лишняя программа. Каждый тест был запущен четыре раза и взят средний результат.

Тестирование проводилось под:

  • ASP.NET MVC 4, .NET 4.5
  • PHP 5.6 YII2
  • Windows 8, IIS8, MS-SQL Server 2012 Express, MySql 5.5
  • Ubuntu 14.10, Apache2, MySql 5.5
  • Ubuntu 14.10, Nginx + fastcgi-mono-server4, MySql 5.5

Конфигурация сервера

  • CPU: AMD Phenom II 965 x4
  • RAM: 4gb RAM
  • HDD: WD 1T

И в заключении хочу привести несколько примеров успешного использования asp.net mvc в огромных проектах.

  1. http://stackoverflow.com/ - форум для программистов и не только. Около миллиона посетителей в день.
  2. http://dearsystems.com/inventory-software/ - популярная в Австралии и США СРМ система складского учета.
  3. http://www.asp.net/ - сайт по asp.net.
  4. http://live.com/ - популярный почтовый сервер и не только.
  5. http://www.documentoved.ru/ - Документовед, онлайн-сервис оформления документов.

Тут можно посмотреть статистику развития и популярность asp.net mvc
https://www.similartech.com/technologies/asp-net

А тут про php
https://www.similartech.com/technologies/php

Автор , дата
Views: 19846 Comments: 26
Арам on 25 February 2015 11:26 says

Что за бред я только что прочитал?

Автор, ты действительно веришь в то, что написал?

"Старый ASP.NET медленее PHP о_О А MVC это же совсем другое дело, он намного быстрее"

а ничего, что старый ASP.NET и ASP.NET MVC отличаются в этом плане совсем незначительно и показывают на простейших операциях примерно одинаковые результаты?

Разработка сайта на ASP.NET дешевле чем PHP?

Разработка сайта с нуля на ASP.NET MVC выходит дороже, чем на ASP.NET WebForms и гораздо дороже, чем ПХП+CMS(которых под него огромное количество).

Правда в том, что 90% клиентов достаточно сайта на WordPress (именно на нем, а не на PHP).

А вот сложные веб-приложения действительно лучше разрабатывать на ASP.NET MVC или WebForms в зависимости от того, что требуется.

Const on 25 February 2015 12:18 says

Арам, большое спасибо за авторитетное мнение без каких-либо оснований и фактов.

Верить или не верить можно в что-то не проверенное, а я всего лишь излагаю информацию, основываясь на факты.

Если сравнивать простейшие операции, почему тогда не написать сайт в виде c++ cgi, ведь будет еще быстрее? Очевидно, что речь идет о больших системах. На asp.net webforms можно написать быстрый сайт, но придется уходить от концепции и делать гибрид между webforms & mvc.

Если брать во внимание сайты-визитки и блоги, то тут php будет выгодней. Но любой, мало-мальски толковый проект, с небольшой порцией сложной логики ставит эти cms в тупик. У меня есть больше дюжины заказчиков, которые "испугались" моей цены и обратились к "php умельцам". Получили сайт на какой-то cms (WordPress, OpenCart, Joomla) и были довольны, но не долго. Через месяц или два, в голову приходит "феноменальная" идея, которую php умелец не может реализовать в силу ограничений cms, либо это будет очень дорого. В результате заказчик выкидывает php сайт и обращается ко мне.

90% чьих клиентов? 90% моих клиентов заказывают сложную crm систему ценой от 3000$, поэтому не стоит кричать во все стороны, что WordPress спасет web-мир.

Арам on 25 February 2015 12:47 says

Const, окей, давайте поговорим о фактах. В вашей статье я увидел результаты тестов с простейшими операциями. Но на их основании Вы делаете выводы и о сложных системах.

Я сам часто доделываю эти недосайты от недопрограммистов (которые научились устаналивать CMS и плагины и решили, что уже умеют делать сайты) и я не люблю PHP (хотя при достаточном уровне можно и на нем написать что угодно).

Скорость работы приложения не всегда является самым важным критерием. Например, если говорить о скорости работы, то крупные распиаренные ORM (EF, NHiberbnate) заметно уступают прямому доступу к БД, но это не мешает их использовать в том же ASP.NET MVC.

Вы, кстати, что используете у себя?

Теперь о том, что я назвал бредом:

1. Статья о сравнении производительности ASP.NET MVC и PHP YII, а в итоге сравниваете просто ASP.NET и PHP.

2. ASP.NET WebForms никогда не был медленее PHP. Как минимум 10 лет назад, когда я начинал с ним работать, он был быстрее, удобнее и надежнее.

3. Скорость работы приложения ASP.NET MVC и ASP.NET WebForms при равном уровне профессионализма разработчиков почти одинаковая, потому что они обе используют один и тот же стэк технологий. Естественно, если Вы не умеете работать с WebForms, то ваше приложение будет работать медленно и жрать много ресурсов.

При этом скорость разработки на WebForms как правило выше (исключения, естественно бывают).

4. 90% клиентов, которым нужны веб-сайты. Хотеть они могут много чего, но на самом деле им нужны сайты-визитки со стандартными плагинами и разным дизайном. И WordPress лидер в этой области. Раз уж мы говорим о достаточно узком круге клиентов, которым нужна разработка CRM (и по каким-то причинам уже готовые продукты их не устраивают), то стоило об этом написать в заголовке статьи. И да, о том, что сложные проекты лучше писать на ASP.NET MVC я тоже написал.

Const on 25 February 2015 13:16 says

Арам, спасибо за адекватный ответ.

Я постарался сделать более-менее большую базу данных и не совсем уж примитивные сценарии тестирования. К сожалению, у меня нет возможности написать две идентичные crm на asp.net mvc и php yii, чтобы сравнить их производительность. Если у Вас есть такая возможность, то буду рад за предоставленную информацию.

Тут нигде не написано, что скорость – самый важный фактор, что asp.net mvc хуже/лучше php или что-то в этом роде. Я собрал аргументы, которые приводят заказчики в пользу php yii и против asp.net mvc, затем опроверг их. Все.

1. В самом начале я написал, что под asp.net подразумеваю именно asp.net mvc, php yii был взят из-за того, что очень много заказчиков убеждены, что это вершина возможностей и использовать нужно именно yii.

2. Сам по себе asp.net WebForms не медленней. Проблема в том, что сама концепция оказалась очень ресурсоемкой и большинство программистов все спихивали на framework, в результате чего, сайт жутко тормозил, мне пришлось перерабатывать не один такой сайт. На asp.net WebForms можно создать хороший сайт, даже на чистом asp можно. Но на эту тему нужно писать отдельную статью.

3. Согласен. Но как я уже писал выше, чтобы избавиться от пожЕрательства ресурсов, нужно делать гибрид с mvc, что выходит совсем не быстрее.

4. Опять согласен. Но статья именно про разработку сайта или приложения с нуля. В самом начале я написал: "... обращаются заказчики с просьбой разработать сайт...", именно разработать сайт, а не создать клон WordPress. Возможно, это не очевидно, мой косяк.

ollon on 11 April 2015 21:25 says

Статью каждый понимает с учетом своего опыта работы в YII/ ASP NET MVC

Когда-то часто сталкивался с подобными вопросами, и перерывал весь инет в поисках статьи, где в одном месте было бы изложены за и против + с "фактами", спасибо.

А за статистику автору отдельное спасибо!

От себя же сказу, часто сталкиваюсь с тем что надо с C# WPF (использую паттерн MVVM), т.е. десктопного приложения, перенести функционал в web. И здесь уже вопросов не стоит на чем писать, (silverlight не рассматриваем). Поэтому выбор падает только на ASP.NET MVC.

Арам, человек потратил время, написал интересную статью, а вы в лоб "Что за бред я только что прочитал?"...

Вы напишите свою статью, чтобы так говорить. Но не это главное, ведь есть еще те, кто ничего не понимают еще, и кому подобная статья очень важна - и возможно стоят перед выбором ASP.NET MVC/YII, но читают такой отзыв, и закрадывается, что статья бредовая, хотя на деле (и по "фактам") наоборот.

Const on 11 April 2015 23:12 says

Ollon, не знаю вашего имени, но спасибо за хороший отзыв, рад что статья понравилась.

Mike on 25 April 2015 20:39 says

На самом деле, ASP.NET (и MVC и WF) всегда будет быстрее, чем php по той причине, что, во-первых, это компилируемый код (т.е. программа выполняется процессором, а не интерпретируется), во вторых, .NET - это JIT-компиляция, компиляция "на лету" (при первом запуске программа компилируется из IL в код, понятный данному процессору, при последующих запусках она уже работает быстрее и оптимальнее для данного процессора). Примерно то же самое можно сказать о Java VM. А PHP код постоянно интерпретируется при каждом обращении. Даже всем известный фэйсбук, написанный когда-то на PHP, сейчас имеет "ядро", написанное на Си, а PHP в нём используется только как шаблонизатор.

Const on 25 April 2015 23:59 says

Mike, полностью согласен.

Но заказчикам, которые прочитали, что Yii, CakePhp, OpenCart, Joomla, WordPress и иже с ними, такие хорошие, все умеют, все делают и при этом совершенно бесплатно, объяснить, что такое JIT и компиляция невозможно.

Анвар on 29 July 2015 10:12 says

Зачем спорить, что лучше, а что хуже. Лучше выучить оба языка и не париться, все же заказчик определяет на чем программировать а не мы программисты. Мне лично легче на ASP.NET MVC, но приходиться писать и на PHP.

Const on 31 July 2015 19:08 says

Анвар, как раз для того чтобы реже писать на PHP и чаще на ASP.NET, и была написана эта статья.

SunnyRitter on 22 September 2015 08:29 says

Добрый день!

Если продолжите исследования в этой области, очень много людей будет благодарно. По тому что надоело делать два варианта и потом слышать от заказчиков увидевших разницу в производительности:"... удивительно, а нам же говорили что PHP быстрее".

Const on 22 September 2015 10:23 says

SunnyRitter, добрый день!

К сожалению, сейчас нет возможности заниматься исследованием asp.net и php, так как я работаю в http://www.starcounter.com/.

Starcounter позволяет разрабатывать web системы нового поколения. Ознакомиться с технологией можно тут http://starcounter.io/.

Если будут какие-то вопросы, можно задавать их лично мне.

Dimon on 23 September 2015 20:42 says

Оч. понравился aps.net mvc с точки девелопера. Приятная ide (vs) + много фишечек от mvc ето круто.

Хочется узнать о хостингах asp.net mvc которие ви считаете хрошими по цена\качество.

Например хостинг для небольшого блога на aps.net mvc5\6

и хостинг например для большого сайта, допустим с базой фильмов, актеров итд итп на 1м фильмов.

Что би ви посоветували или где искать, так как я только учу aps.net, очень нравится, и хочеться би узнать где би захостить чтото) не оч. дорого

Const on 23 September 2015 20:54 says

Dimon, привет.

Я пользуюсь услугами хостинга http://www.1gb.ru/, мой сайт тут размещен.

И еще арендую сервер в Германии: https://www.hetzner.de.

Michael on 29 October 2015 23:45 says

Автор пишет:

"Устаревший asp.net действительно тормозит и потребляет много ресурсов. Но asp.net и asp.net mvc это разные технологии, путать их между собой нельзя!"

Здесь я с ним не согласен ASP без приставки Net, да устаревший, тормознутый (т.к. интерпритируемый) и потребляет много ресурсов. ASP.Net это новая технология. ASP.Net MVC это фреймворк который включен в ASP.Net. ASP.Net это технология, ASP.Net MVC это подход для использования ASP.Net. Всетаки в статье лучше поправить где ASP, а где ASP.Net.

По поводу стоимости разработки полностью солидарен с автором. В Интернете есть статьи где аргументом в пользу использования PHP выдвигают, то что его используют Google, Facebook и другие гиганты, да используют, но то сколько зелёных они потратилита на то чтоб заставить "бесплатный" PHP работать быстрее (за счет вынесения логики на C) упоминуть забыли.

Был у меня как-то довольно интересных опыт: Требовался сайт для автоматизации бизнес процеса в компании для её решения был необходим еще один программист, на чём писать был в замешательстве мог на ASP.Net(к чему и склонялся) и на PHP, ранее эту задачу дали PHP программисту, по неизвестным причинам он её не смог сделать, бюджет начальство не интересовал, но в рамках разумного. Начали искать программиста по обоим направлениям, PHP программисты приходили говорили что без WordPress или Joomla писать не будут, все были с порфолио с десатками сайтов, т.е. не дураки. В конечном итоге взяли .Net программиста без опыта и сделали работу за 2 месяца на ASP.net WebForms. Позже начальство нам поставило задачу заставить работать оборудвание по командам с сайта, и радости моей не было предела т.к. я смутно представлял как это реализовать на PHP и реально ли это. ASP.Net работает с Windows, оборудование работает с Windows. Без танцев с бубном сделали и это.

Я это к тому что все таки надо подбирать инструмент под задачу. И что людей знающих PHP на довольно приличном уровне не так много как кажется.

Const on 31 October 2015 16:37 says

Michael, согласен с вами.

asp.net mvc, как и asp.net web forms, это технологии разработки сайтов на asp.net.

Говоря asp.net, я подразумеваю asp.net web forms. При появлении asp.net была только одна технология - web forms, mvc - появился позднее. Согласен, что это не очень корректно.

sgiman on 05 November 2015 07:33 says

Автор во многом все же прав. На ASP.NET MVC также быстрее и легче создаются сложные мультимедийные и графические web-ресурсы. В этом пришлось недавно убедиться на примере популярного за рубежом SDK LEADTOOLS (https://www.leadtools.com/).

puga1chev on 26 January 2016 14:41 says

Здравствуйте, набрел на вашу статью, изучая и сравнивая PHP и ASP.NET MVC.

Как Вы считаете, есть ли в ближайшем будущем перспектива у ASP.NET MVC стать часто используемым языком в вебе, как php, при разработки Не корпоративных проектов, а любого вида сайтов, CMSок и тд? Смотрел на вакансии - чистых asp.net mvc веб-разработчиков очень мало требуется в Москве, даже front-end на порядок больше. Хочу развиваться как веб-разработчик, приоритет отдаю asp.net, тк знаю преимущества среды разработки и сервера MSSQL. Хотелось бы понять будет ли перспектива найти работу на asp.net в разработке всевозможных CMS, интеренет-магазинов (все что в основном написано сейчас на php), а не корпоративных решений?

Const on 26 January 2016 15:07 says

puga1chev, здравствуйте.

В России PHP имеет такую большую популярность из-за видимой бесплатности. Если вы еще не знаете, что ASP.NET 6 (vNext) тоже бесплатный и с открытым кодом, то советую почитать. Уже выпущен Release Candidate, есть поддержка Windows, Linux, OSX. Поэтому, я не думаю, а знаю, что популярность ASP.NET будет расти и расширяться.

В любом случае, я считаю, что любой уважающий себя разработчик, должен ориентироваться именно на корпоративные решения, а не на болото из множества бесплатных CMS.

Getting started with ASP.NET 6 - https://dotnet.github.io/getting-started/

ASP.NET vNext samples - https://github.com/aspnet/Home

puga1chev on 26 January 2016 15:44 says

Const, рад был это услышать.

Bassist on 19 May 2016 11:05 says

Господа, вы же маститые дотнетчики! Не рассказывайте эту сказку про JIT и то, как быстро он работает по сравнению с пхп! Потери на компиляцию и интерпретацию будут пренебрежимо малы, поскольку львиную часть времени всё равно будет занимать доступ к данным и сетевая задержка.

ASP.NET MVC - Это не язык и не паттерн, это фреймворк. ASP.NET Web Forms - это тоже фреймворк и они представляют надстройку над платформой ASP.NET. Популярность пхп у нас, как верно заметили, за счет бесплатности компонентов.

Если выбирать, на чём писать проект - то чем проще сайт, тем меньше там нужен ASP.NET (в любом виде).

Const on 19 May 2016 11:51 says

Bassist, спасибо за комментарий.

Сказка сказкой, а факты фактами. Полностью согласен, что скорость работы сайта определяется не только JIT компиляцией или PHP интерпретацией. Поэтому сравнивал не скорость выполнения c# и php кода, а два сайта с идентичной начинкой. ASP.NET MVC на платформе .NET, как framework, лучше и быстрее YII на PHP. Это не значит, что Wordpress надо заменить на ASP.NET, у PHP есть своя ниша, но когда на нем начинают разрабатывать сложные системы, это кончается весьма плачевно.

Radli on 21 December 2016 12:49 says

1. Asp.net web forms vs PHP

- по скорости работы, PHP выигрывает

- по скорости разработки выигрывает Web Forms

2. Asp.Net MVC5 vs PHP

- по скорости разработки примерно одинаково

- по скорости работы сказать не берусь

почему автор сравнивал YII и ASP.NET MVC|WEB FORMS

можно на чистом PHP писать, можно использовать другие фреймворки, которых сейчас тоже куча (мелких и быстрых)

и в статье упоминается WORDPRESS, WORDPRESS, WORDPRESS, JOOMLA, WORDPRESS, WORDPRESS ... это все CMS, кстати нет DRUPAL )

сейчас в основном испльзуют фреймворки а не кмс

Const on 21 December 2016 13:39 says

Radli, спасибо за комментарий.

1. Соглашусь с Вами. Если использовать все навороты ASP.NET WebForms и при этом ничего не оптимизировать, то скорость работы такого сайта сходит на ноль, и уж точно проигрывает PHP.

2. Не согласен. Скорость разработки на ASP.NET MVC, минимум, в 1.5 раза быстрее. Для статистики была собрана информация от 10+ разработчиков, и 2-3 проекта на разработчика. Конечно, цифра не очень уж и аккуратная, но этого достаточно чтобы приложить к личному опыту и сформировать мое личное мнение.

Для сравнения был взят PHP YII по причине заказчиков, которые начитались в интернете разной чуши. Ничего не понимая в разработке Web приложений утверждают, что PHP YII в десять раз новее, быстрее, универсальней, и вообще сам по себе лучше.

Про WordPress & Joomla так же было упомянуто по причине заказчиков и разработчиков. Горе разработчики утверждают, что на WordPress & Joomla можно сделать все сайты в интернете, при этом даже сам язык PHP толком не знают. Заказчики кричат: «Там же столько бесплатных модулей! Вообще можно ничего не делать! Просто собрать и все!».

Отмечу, данному сравнению уже больше двух лет, и ситуация могла измениться. Я перестал заниматься разработкой Web сайтов, и не слежу за PHP. Так же вышел .NET Core, который работает под Linux. Теперь аргументов использовать PHP еще меньше.

Shnir on 30 January 2017 01:09 says

"Так же вышел .NET Core, который работает под Linux. Теперь аргументов использовать PHP еще меньше."

Как раз в декабре вышел PHP 7. Скорость возраста и уменьшилось использование памяти. Все развивается, поэтому время от времени разные технологии выходят вперед, пока их конкурент снова не обгонит.

Const on 30 January 2017 07:51 says

Shnir, согласен. PHP 7, это очень позитивное обновление для языка, но для меня этого явно не достаточно, чтобы тягаться с .NET Core.