Добавить в корзинуПозвонить
Найти в Дзене
Ржавый код

Rust — Hyper vs Actix кто быстрее

В этой статье я собираюсь сравнить очень популярный Hyper framework с Actix. Я собираюсь запустить простой HTTP-сервер Hello world. Hyper - это быстрая и корректная реализация HTTP для Rust. Гипер - это: Actix Web - это мощный, прагматичный и чрезвычайно быстрый веб-фреймворк для Rust. Actix - это: Оба утверждают, что они быстрые! Тесты выполняются на MacBook Pro M1 с 16 ГБ оперативной памяти. Версия rust - v1.69.0. Оба сервера hyper и actix построены в режиме релиза. Я использую Hyper 1.0.0-rc.3 и Actix web 4. Образцы кода были взяты с их веб-сайтов. Hyper Actix Одно из отличий заключается в том, что Actix поставляется с маршрутизатором, в то время как Hyper - нет. Это может сделать его несправедливым по отношению к Actix. Тестирование Каждый тест выполняется для 5 миллионов запросов. Тесты выполняются для 25, 100, 200 и 300 одновременных подключений. Нагрузочный тест выполняется с помощью инструмента HTTP-тестирования Bombardier. Перед снятием показаний проводится прогрев из 1000 зап
Оглавление

В этой статье я собираюсь сравнить очень популярный Hyper framework с Actix. Я собираюсь запустить простой HTTP-сервер Hello world.

Hyper - это быстрая и корректная реализация HTTP для Rust. Гипер - это:

  • HTTP/1 и HTTP/2
  • Асинхронный дизайн
  • Лидерство в производительности
  • Проверен и корректен
  • Широкое использование в производстве

Actix Web - это мощный, прагматичный и чрезвычайно быстрый веб-фреймворк для Rust. Actix - это:

  • Typesafe: Забудьте о не строго типизированных объектах, от запроса до ответа, у всего есть типы.
  • Многофункциональность: Actix предоставляет множество функций "из коробки". HTTP/2, ведение журнала и т.д.
  • Расширяемый: Легко создавайте свои собственные библиотеки, которые может использовать любое приложение Actix.
  • Очень быстрый

Оба утверждают, что они быстрые!

Тесты выполняются на MacBook Pro M1 с 16 ГБ оперативной памяти.

Версия rust - v1.69.0. Оба сервера hyper и actix построены в режиме релиза. Я использую Hyper 1.0.0-rc.3 и Actix web 4.

Образцы кода были взяты с их веб-сайтов.

Hyper

-2

Actix

-3

Одно из отличий заключается в том, что Actix поставляется с маршрутизатором, в то время как Hyper - нет. Это может сделать его несправедливым по отношению к Actix.

Тестирование

Каждый тест выполняется для 5 миллионов запросов. Тесты выполняются для 25, 100, 200 и 300 одновременных подключений. Нагрузочный тест выполняется с помощью инструмента HTTP-тестирования Bombardier. Перед снятием показаний проводится прогрев из 1000 запросов.

Ниже приведены таблицы, показывающие результаты для каждого уровня параллелизма:

-4
-5
-6
-7

Итог

Сейчас это жесткая конкуренция. Я не вижу здесь явного победителя. Оба работают очень хорошо. Использование ресурсов также остается таким же. Мне больше нравится приложение Actix, так как оно более читабельное. Кроме того, Actix кажется более многофункциональным.

Статья на list-site.