Будь ласка, використовуйте цей ідентифікатор, щоб цитувати або посилатися на цей матеріал:
https://er.chdtu.edu.ua/handle/ChSTU/9051| Назва: | Framework for the comparative analysis of networking software libraries and its application to C++ networking solutions |
| Інші назви: | Фреймворк для порівняльного аналізу мережевих програмних бібліотек та його застосування до мережевих рішень C++ |
| Автори: | Hrushevyy, Yehor Zhereb, Kostiantyn Грушевий, Єгор Жереб, Костянтин |
| Ключові слова: | application performance evaluation;load testing;client-server architecture;quantitative and qualitative metrics collection;testbed configuration;modular architecture;throughput and latency measurement;оцінка продуктивності застосунків;навантажувальне тестування;клієнт-серверна архітектура;збір якісних і кількісних метрик;конфігурація тестового середовища;модульна архітектура;вимірювання пропускної здатності і затримок |
| Дата публікації: | 2025 |
| Видавництво: | Вісник Черкаського державного технологічного університету |
| Короткий огляд (реферат): | The objective evaluation of networking libraries remains a critical challenge in software engineering, as
inconsistent methodologies and application-specific code often obscure meaningful performance and usability
differences. The aim of this study was to conduct a comprehensive comparison of three C++ networking libraries
(Boost.Asio, Boost.Beast, and Poco.Net) based on the proposed universal framework. The research methodology
included the development of a universal comparative framework, experimental implementation of software
prototypes, load testing to collect quantitative indicators, and a structured qualitative assessment based on
a number of defined criteria. The framework encompassed both quantitative metrics (throughput, latency
and resource consumption) and qualitative criteria (Application Programming Interface ergonomics, feature
completeness, stability, cross platform compatibility and development complexity), with all libraries assessed
under identical software conditions. Using each library, two C++ client-server prototypes were implemented: the
RESTful service ResourceMonitor and the real time streaming application GameOfLifeStreaming. The project
structure was unified to eliminate variability in application logic and to focus analysis exclusively on library
behaviour. Boost.Asio demonstrated advantages in latency sensitive scenarios and scenarios requiring fine grained
control. Boost.Beast offered effective HTTP support with minimal performance overhead but limited protocol
coverage. Poco.Net achieved the lowest memory footprint and maintained stable performance at high loads while
supporting the widest range of protocols, albeit at the expense of higher latency and lower raw throughput, and
requiring more complex configuration. The practical contribution lies in the reusable framework for evaluating
other networking libraries, the integration of created components into diverse development workflows, and the
provided guidelines for choosing the most appropriate library. Об’єктивне порівняння мережевих бібліотек залишається актуальним завданням у програмній інженерії, адже відсутність уніфікованих підходів та залежність від специфіки застосунків часто ускладнюють виявлення важливих відмінностей у продуктивності та зручності використання. Метою дослідження було здійснення комплексного порівняння трьох мережевих бібліотек C++ (Boost.Asio, Boost.Beast та Poco.Net) на основі запропонованого універсального фреймворку. Методологія дослідження охоплювала розробку універсального порівняльного фреймворку, експериментальну реалізацію програмних прототипів, проведення навантажувального тестування для збору кількісних показників та здійснення структурованої якісної оцінки за рядом визначених критеріїв. Створений фреймворк включає збір як кількісних (пропускна здатність, затримка, споживання ресурсів), так і якісних показників (зручність інтерфейсу прикладного програмування, функціональність, стабільність, кросплатформність, складність розробки). Особлива увага приділялась поведінці в умовах однакового програмного середовища. З використанням кожної з досліджуваних бібліотек, у межах роботи реалізовано два клієнт-серверні прототипи: RESTful-сервіс ResourceMonitor і застосунок з потоковим передаванням даних GameOfLifeStreaming. Варіанти реалізації уніфіковано в структурі проєкту, що забезпечило мінімізацію відмінностей на рівні логіки та дозволило сфокусуватись на властивостях самих бібліотек. Boost.Asio продемонстрував переваги у задачах із високими вимогами до затримок і необхідністю низькорівневого контрою. Boost.Beast виявився достатньо ефективним вибором для HTTP-застосунків, але з обмеженим переліком підтримуваних протоколів. Poco.Net найефективніше використовував ресурси, не сильно деградував при великих навантаженнях, дозволяє працювати з найбільшою кількістю протоколів, але показав гірші показники затримок і пропускної здатності, а також потребував складнішої конфігурації. Практична цінність роботи полягає у можливості повторного використання фреймворку для порівняння інших мережевих бібліотек, інтеграції створених компонентів в інші розробки, а також у сформованих висновках щодо доцільності застосування кожної з бібліотек. |
| URI (Уніфікований ідентифікатор ресурсу): | https://er.chdtu.edu.ua/handle/ChSTU/9051 |
| ISSN: | 2306-4412 (print) 2708-6070 (online) |
| DOI: | https://doi.org/10.62660/bcstu/3.2025.10 |
| Том: | 30 |
| Випуск: | 3 |
| Початкова сторінка: | 10 |
| Кінцева сторінка: | 23 |
| Розташовується у зібраннях: | том 30, №3/2025 |
Файли цього матеріалу:
| Файл | Опис | Розмір | Формат | |
|---|---|---|---|---|
| зміст.pdf | 117.47 kB | Adobe PDF | ![]() Переглянути/Відкрити | |
| титул.pdf | 234.55 kB | Adobe PDF | ![]() Переглянути/Відкрити | |
| 3.pdf | 695.63 kB | Adobe PDF | ![]() Переглянути/Відкрити |
Усі матеріали в архіві електронних ресурсів захищено авторським правом, усі права збережено.


