Комментарии 22
Спасибо за наводку на oha, попробую использовать вместо ab
А почему взяли Actix а не Axum? Второй же сейчас самый популярный в Rust.
Почему .NET 8.0 RC2, а не Release?
Было бы интересно посмотреть результаты на средних и крупных запросах.
Еще HTTPS бы не мешало потестить. Хотя это уже потребует менять методику.
Мне кажется в реальной жизни разница будет сильно меньше, возможно даже неразличимо меньше.
Выгялдит как сравнение ряди сравнения.
В реальности я скорее всего возьму простой фреймворк на Питоне. Узким местом скоее будет сеть или возможности сервиса.
Понятно, что для обычного бизнес-прложения это не важно, но вот для биржи, рекламного сервиса и всего, где важна скорость и обработка большого числа запросов это важно, rust в этом случае выглядит лучше всего ещё и из-за того, что работает без сборщика мусора, что может порой задержки, не даром в net8 потратили большие усилия на работу с паматью, хотя в go она изначально была хороша. Но вот писать на rust или go после с# совсем не приятно, для меня самым интересным выглядел D, но на нём нет толковых веб фреймворков, да и работу с памятью по типу как в rust вроде так и не завезли, но как язык очень приятно
![](https://habrastorage.org/getpro/habr/upload_files/9d5/b84/0d4/9d5b840d425eb1e3556de7404072d958.jpg)
Когда в теме не про питон увидел, что никто в комментах не написал про питон
Необходимо сравнить заголовки ответа. Возможно наполнение заголовков в каком то из движков выше. Аналитика приходит, кешинг. В таком тексте каждый лишний байт приведёт к значительной просадке
Если такие мелочи важны, то стоит еще посмотреть на что-то типа grpc.
Давным-давно, я профилировал одного индуса и отписывался тут в комментах. Тот тоже сравнивал два разных языка и что-то там решал.
Так вот о тестах: Там зачастую играет роль наличие keep-alive соединения. Они ускоряют тесты очень сильно. Поэтому я не удивлён, что результаты такие разные.
Люди, которые гоняют тесты предпочитают не думать над результатами, а просто смотрят на числа. И делают свои выводы.
Так есть же уже многолетнее тестирование
Это не просто сравнение ради сравнения, это просто бред какой-то.Типа возьмем рандомные фреймворки, запустим на машинках в каком-то облаке и посмотрим, что из этого выйдет. Сказать, что тут много нюансов - ничего не сказать:
– throughput / latency сильно зависят от конкурентности запросов,
– приложения на jit яп сильно зависят от прогрева, выделенных ресурсов, настроек сборки мусора,
– все приложения зависят от архитектуры, те же java/c# jit компиляторы не так чтобы оптимизированы под arm-ы, их десятками лет полировали под x86,
– все зависят от настроек системы, настроек сети, и в целом от расположения машин в сети датацентра.
Как уже упоминали ранее, в более профессиональных бенчмарках результаты подобных plaintext тестов лежат рядом в пределах погрешности +-5% https://www.techempower.com/benchmarks/#hw=ph&test=plaintext§ion=data-r22
Выглядит как соревнование грузовиков со снятыми кузовами - какой быстрее довезет отсутствующий груз.
Теперь мы знаем, что hello world лучше писать на rust
Может стоило в Bun&Elysia использовать кластера?
Узким местом чаще всего является IO и БД. Интересней было бы глянуть сравнения чего-то в этой области. Решений, архитектур, стеков и каких-то технологий.
Битва фреймворков: сравнение высокопроизводительных HTTP-библиотек