Skip to content

C++ Moscow №0: «‎Бэкенд на плюсах для нормальных людей»‎

License

Notifications You must be signed in to change notification settings

cppmoscow/backend_for_sane_people

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

backend_for_sane_people

C++ Moscow №0: «бэкенд на плюсах для нормальных людей»

Докладчик: Данил Сидорук

Видео: YouTube

Презентация: Online

В рамках доклада был совершен обзор трех самых популярных и функциональных плюсовых веб-фреймворков: drogon, oat++ и userver.

Кроме того, на всех из них был реализован крошечный pastebin сервис с минимальной функциональностью: добавление, обновление, удаление и получение паст. Репозитории: drogon_sample, oat_sample, userver_sample.

Аннотация

С каждым годом писать прикладной код на плюсах становится все проще: у нас появляются такие удобные библиотеки, которые можно просто взять и использовать без необходимости мучаться с сборкой, страдать от отвратительной документации и просто излишней сложности, такие как nlohmann/json, C++ Requests и fmt

Но как только нам хочется хоть для личных нужд написать даже простой бэкенд.. На нас сваливается с одной стороны Boost.Beast — слишком низкоуровневый для большинства задач, с другой userver, только собрать который уже может оказаться большим испытанием. Кажется, проще плюнуть и написать все за один вечер на питоне.

Но, может, плюсовой экосистеме все же есть, что нам предложить? Сравним альтернативы и ответим на вопрос, бэкенд на плюсах для нормальных людей — миф или реальность?

LOC metrics

Место Фреймворк Lines of code %
1 userver 162 100
2 Drogon 165 101
3 Oat++ 310 191

image

Performance metrics

Для простоты сравнение производилось следующим образом:

  1. В базу данных помещалось содержание заголовочного файла array
  2. Производилось стрессовое тестирование с помощью инструмента drogon_ctl с следующими параметрами: количество запросов — 10 тысяч, количество одновременных соединений — 100, количество потоков — 4. Сначала сервера разогревались тестовым прогоном, дальше делалось еще пять прогонов, и за результат бралось их среднее.
Место Фреймворк Requests per second %
1 userver 39547 100
2 Drogon 35890 90
3 Oat++ 31512 79

image

About

C++ Moscow №0: «‎Бэкенд на плюсах для нормальных людей»‎

Resources

License

Stars

Watchers

Forks

Languages