В последние годы команда .NET усиленно рекламирует ASP.NET asp php Core как один из самых быстрых веб-фреймворков на рынке. Источником этих утверждений всегда были бенчмарки TechEmpower Framework Benchmarks. ASP.NET надежен и имеет несколько конкретных моделей программирования для разработки веб-приложений. Это одна из тех функций, которая делает его универсальным решением для создания веб-сервисов.
Наконец, даже с самым быстрым веб-фреймворком Go, .NET все равно быстрее при использовании стека высокого уровня (middleware, minimal APIs, …). При этом .NET 7.0 снова быстрее, чем текущие результаты, которые получены на версии 6.0. Веб-фреймворки не обязаны участвовать в каждой категории тестов TechEmpower Benchmark. На самом деле рекомендуется участвовать только в тех категориях, которые применимы к конкретному фреймворку. Если фреймворк более высокого уровня, такой как ASP.NET Core MVC, имеет возможность рендеринга шаблонов HTML, то он может участвовать в бенчмарке Fortunes.
Аналогично наименованию бенчмарков фреймворка, классификация не стандартизирована и не проверяется сотрудниками TechEmpower. Любой может отправить код с произвольным названием и классификацией и получить очень мало или вообще не получить никакой проверки со стороны владельцев репозитория. По крайней мере, у меня сложилось такое впечатление (однажды я прислал бенчамарк-тест на F#). Все остальные категории тестов фокусируются на отдельных аспектах фреймворка, что делает их интересными для чтения, но бесполезными при ранжировании веб-фреймворков по общей производительности. Он имеет все необходимые инструменты с подходящей средой для создания и развертывания программных приложений.
Предыдущий раунд (Round 20) был проведен в феврале 2021 года, то есть разница между этими двумя официальными раундами больше года. Я не знаю точно, почему у них так мало официальных раундов, но я обнаружил, что у них есть непрерывный бенчмарк-запуск, который можно посмотреть на их панели результатов. Сандип Бхандари имеет степень бакалавра вычислительной техники Университета Тапар (2006 г.). Он проявляет большой интерес к различным техническим областям, включая системы баз данных, компьютерные сети и программирование.
NET также поддерживает другие языки программирования. Silverlight – старая платформа (застряла примерно на уровне .NET 4.5), предназначенная для работы в браузере (вроде java-апплетов). Не так давно была серьезно ранена гуглом, который перестал поддерживать NPAPI в своем Хроме. К примеру, имеет некоторый интерфейс, допустим IList, соответсвенно данный интерфейс или его реализация есть в .NET Core, Xamarin, .NET Framework.Или к примеру возьмем DirectoryInfo/Directory.
ASP.NET Core это кроссплатформенный фреймворк для построения веб приложений. ASP.NET Core MVC это одна из его частей, наряду с другими частями, как Razor Pages или Web API или Blazor и т.д. Как видите, на PHP создается большое количество качественных сайтов и продуктов для бизнеса.
Зачем нам сравнивать такие разные инструменты, ASP vs PHP? Чтобы понимать преимущества и недостатки технологий в отдельных задачах. Несмотря на свою популярность, ASP имеет ряд ограничений.
Традиционно разрабатывались и динамические веб-страницы.
Только сам код может быть использован как надежный источник правды, чтобы сделать выводы из этих тестов. Это смелое заявление и столь же впечатляющее, если оно соответствует действительности, поэтому мне было интересно узнать больше о производительности ASP.NET Core и TechEmpower Framework Benchmarks. По его словам, .NET более чем в 10 раз быстрее, чем Node.js. Это выгодно, потому что поддерживает несколько языков программирования. Все, что ему нужно, это Common Language Interpreter, и работа сделана.
Похоже, что при переходе от тестов “Platform” к тестам “Full” наблюдается очень значительное падение производительности. Тогда, вероятно, эти две версии превзойдут ваши потребности и обе будут достаточны для того, что вы хотите сделать. Слой базы данных может быть вашим узким местом, что сделает выбор веб-фреймворка спорным вопросом. Инструментарий или уверенность в платформе могут стать вторым лучшим отличительным фактором. Если вам нужна только производительность, то обратите внимание на фреймворки Rust, которые сейчас еще быстрее. Традиционная реализация .NET Framework непредусматривает разбиения на модули, поэтому компоновщик (linker) неможет включить в приложение лишь ту часть инфраструктуры, котораянужна приложению.
Бенчмарк Fortunes является золотым стандартом всех бенчмарков. Он единственный, кто пытается походить на “реальный сценарий”, включающий чтение из базы данных, сортировку данных по тексту, защиту от XSS, а также включает в себя отрисовку HTML-шаблонов на стороне сервера. ASP.NET является частью платформы .NET, используемой для разработки веб-приложений и служб.
ASP.NET — это платформа с открытым исходным кодом, которая помогает разрабатывать динамические веб-сайты. Unity – форк Mono, платформа для написания графических (в том числе 3D) приложений. Есть вариант встраивания в браузер (не работает в Хроме из-за отказа от NPAPI в Хроме работает благодаря технологии Web Assembly). Плюсы и минусы PHP хорошо сбалансированы под нужды бизнеса.
Это ошеломляющая разница, которую следует иметь в виду, сравнивая ASP.NET Core с фреймворками, написанными на Java, Go или C++. Это наиболее реалистичное приложение ASP.NET Core, которое действительно соответствует духу бенчмарка Fortunes. Из файла config.toml мы можем понять, что тест Fortune вызывает эндпоинт /fortunes во время выполнения бенчмарка.
У технологии множество различных фреймворков и программных модулей, которые расширяют функционал. ASP.NET подходит для разработки веб-сайтов, приложений, может использоваться для реализации технологий реального времени, создания мобильных приложений, применяется для работы с WebHooks. Это профессиональный инструмент создания мощных продуктов для бизнеса. Если говорить только о производительности, то NodeJs даже не стоит в одном ряду с Go и .NET, которые намного быстрее во всех условиях (gRPC, пропускная способность, использование памяти, размер контейнера). Затем для Go это во многом зависит от выбранного вами веб-фреймворка, например Fiber, Gin, …. Проверьте бенчмарки TechEmpower, чтобы почувствовать разницу.
Это допустимо, если это считается каноническим для фреймворка. Заглянув дальше в файл BenchmarkApplication.cs, я был потрясен огромным количеством тонко настроенного низкоуровневого кода C#, созданного специально для этого (чрезвычайно простого) приложения. Даже интерфейс IHttpApplication пришел не из ASP.NET Core. Это также пользовательский тип, который был специально разработан для бенчмарк-тестов. Первое, что бросилось мне в глаза, это то, что последний официальный раунд (Round 21) был зафиксирован 19 июля 2022 года.
В ASP.NET Core у нас есть два механизма шаблонизации, Razor Views и Razor Pages, ни один из которых здесь не используется. Обе технологии отлично подходят для создания качественных приложений под задачи бизнеса. Если необходимо сделать упор на быстродействие, интерфейс, взаимодействие с клиентом, выбирайте PHP. Для создания вычислительных продуктов, сервисов аналитики, оцифровки бизнес-процессов больше подходит ASP.NET.
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS. Все приложение для бенчмарка Fortunes состоит из менее чем 20 строк кода. На момент написания этого сообщения самым быстрым бенчмарком Fortune является atreugo для Go. Самый быстрый Java-бенчмарк, который также использует Postgres в качестве исходной базы данных, – это Jooby.
IT курсы онлайн от лучших специалистов в своей отросли https://deveducation.com/ here.