Дослідження ефективності роботи серіалізаторів даних мови програмування C# за допомогою розробленого програмного продукту для тестування

Автор(и)

  • О.Ю. Балалаєва ДВНЗ «Приазовський державний технічний університет», м. Дніпро, Україна https://orcid.org/0000-0003-1461-4399
  • І.Ф. Марченко ДВНЗ «Приазовський державний технічний університет», м. Дніпро, Україна https://orcid.org/0000-0002-4566-3866
  • Г.М. Коротенко Національний технічний університет «Дніпровська політехніка», м. Дніпро , Україна https://orcid.org/0000-0003-3774-5260
  • Д.О. Бешта Національний технічний університет «Дніпровська політехніка», м. Дніпро , Україна https://orcid.org/0000-0003-2848-2737
  • А.К. Пікуз ДВНЗ «Приазовський державний технічний університет», м. Дніпро, Україна

DOI:

https://doi.org/10.31498/2225-6733.47.2023.299923

Ключові слова:

серіалізація даних, серіалізатор, мова програмування C#, формат JSON, платформа .NET

Анотація

У статті розглянуто питання використання серіалізаторів даних для реалізації проєктів, пов'язаних з обробкою великих обсягів даних, а також із підтримкою високошвидкісної передачі даних у розподілених системах. Показано, що в даному контексті вибір найбільш ефективного механізму серіалізації має критичне значення для забезпечення продуктивності та масштабованості додатків. Метою даної роботи є дослідження ефективності роботи серіалізаторів даних мови програмування С# за допомогою розробки програмного продукту для тестування серіалізаторів з використанням різних за обсягом і типом даних об’єктів. Проведено огляд наукових досліджень застосування різних форматів серіалізації даних: XML, JSON, BSON, MessagePack, Smile, Protocol Buffers, Flat Buffers, Apache Thrift. Зроблено висновок, що найбільш популярними на сьогодні є формати XML та JSON, виконано їх порівняльний аналіз. Обґрунтовано доцільність використання JSON-формату серіалізації, що обумовлено його безпечністю у порівнянні з бінарним форматом, меншим розміром у порівнянні з XML-форматом, а також підтримкою більшістю засобів розробки програмних продуктів. Обрано платформу .NET, яка надає стандартні інструменти для JSON-серіалізації мови програмування С#, а саме: System.Runtime.Serialize.Json та System.Text.Json, які постачаються за замовчанням. Проаналізовано найбільш популярні програмні рішень для серіалізації об’єктів C#, показано доцільність тестування таких серіалізаторів, як Jil, Json.NET, Utf8Json, SpanJson та стандартних серіалізаторів з метою виявлення переваг та недоліків їхнього використання для реалізації конкретних задач та проєктів. Для створення програми-тестувальника обрано бібліотеку мови програмування C# BenchmarkDotNet. Зазначено, що даний фреймворк платформи .NET дозволяє перетворювати методи на тести та створювати тестування ефективності завдяки потужному статистичному механізму. Наведено діаграму класів та діаграму компонентів розробленого програмного забезпечення. Проведено дослідження 5 серіалізаторів даних, які включали виконання 7 експериментів з серіалізації об’єктів з різними типами даних. Проаналізовано витрати часу та оперативної пам’яті при серіалізації малого та великого об’єктів; об’єктів, що містять одновимірні, двовимірні та тривимірні масиви натуральних чисел, об’єкта зі складним ланцюгом спадкування класів, а також об’єкта, що містить словник. Результати експериментальних досліджень показали залежність ефективності серіалізаторів від типу та обсягу даних, які потрібно серіалізувати. Зроблено висновок, що не існує універсального серіалізатора, який буде показувати найкращі результати в усіх випадках. Надано рекомендації щодо використання різних серіалізаторів з урахуванням вимог конкретного проєкту

Біографії авторів

О.Ю. Балалаєва , ДВНЗ «Приазовський державний технічний університет», м. Дніпро

Кандидат технічних наук, доцент

І.Ф. Марченко , ДВНЗ «Приазовський державний технічний університет», м. Дніпро

Кандидат технічних наук, доцент

Г.М. Коротенко , Національний технічний університет «Дніпровська політехніка», м. Дніпро

Доктор технічних наук, професор

Д.О. Бешта , Національний технічний університет «Дніпровська політехніка», м. Дніпро

Кандидат технічних наук

А.К. Пікуз , ДВНЗ «Приазовський державний технічний університет», м. Дніпро

Магістрант

Посилання

Грудзинський Ю.Є., Марков Р.В. Вибір протоколу серіалізації при розробці програмного забезпечення. Вісник НТУ «ХПІ». Серія: Нові рішення в сучасних технологіях. 2016. № 12(1184). С. 13-16. DOI: https://doi.org/10.20998/2413-4295.2016.12.15.

Андрущенко Р. Порівняльний аналіз показників ефективності методів серіалізації даних у комп'ютерних мережах. Технічні науки та технології. 2019. № 1(15). С. 115-126. DOI: https://doi.org/10.25140/2411-5363-2019-1(15)-115-126.

Андрущенко Р.Б., Зайцев С.В., Солдатов А.Ю. Аналіз методів серіаліазції структурованих даних для передачі в протоколах прикладного рівня моделі OSI. Математичне моделювання в економіці. 2018. № 3. С. 52-70. URL: http://dspace.nbuv.gov.ua/handle/123456789/162043.

Попенко Д.В., Курдеча В.В. Аналіз методів серіалізації об’єктів для побудови платформи великих індустріальних даних. Перспективи телекомунікацій : збірник матеріалів Міжнародної науково-технічної конференції, м. Київ, 13-17 квіт. 2020 р. С. 1-3. URL: http://conferenc.its.kpi.ua/proc/article/view/201701.

Літвінова Н., Альперт М., Погульський А. Підвищення ефективності обміну даними сутно-стей у реляційному представленні та їх обробки. Технічні науки та технології. 2021. № 1(23). С. 81-86. DOI: https://doi.10.25140/2411-5363-2021-1(23)-81-86%20org/.

Sumaray A., Makki S.K. A comparison of data serialization formats for optimal efficiency on a mobile platform. 6th International Conference on Ubiquitous Information Management and Communication (ICUIMC'12), Kuala Lumpur, Malaysia, 20-22 February 2012. Vol. 48. Pp. 1-6. DOI: https://doi.org/10.1145/2184751.2184810.

Performance analysis of data serialization formats in m2m wireless sensor networks / F. Pacini, F.A. Aderohunmu, A. Azzarà, S. Bocchino, P. Pagano, M. Petracca. European Conference on Wireless Sensor Networks, Porto, Portugal, 9-11 February 2018. Pp. 7-8. URL: https://cister-labs.pt/docs/poster_demo_session_proceedings_of_the_12th_european_conference_on_wireless_sensor_networks_(ewsn_15)/1075/view.pdf#page=8.

PSON: A Serialization Format for IoT Sensor Networks / Luis Á., Casares P., Cuadrado-Gallego J.J., Patricio M.A. Sensors. 2021. Vol. 23(13). Pp. 1-18. DOI: https://doi.org/10.3390/s21134559.

Kazuaki M. Performance evaluation of object serialization libraries in XML, JSON and binary formats. Second International Conference on Digital Information and Communication Technology and it's Applications (DICTAP), Bangkok, Thailand, 16-18 May 2012. Pp. 177-182. DOI: https://doi.org/10.1109/DICTAP.2012.6215346.

Vanura J., Kriz P. Perfomance Evaluation of Java, JavaScript and PHP Serialization Libraries for XML, JSON and Binary Formats. Services Computing – SCC 2018: 15th International Conference, Seattle, USA, June 25-30 2018. 2018. Pp. 166-175. DOI: https://doi.org/10.1007/978-3-319-94376-3_11.

##submission.downloads##

Опубліковано

2023-12-28

Як цитувати

Балалаєва , О., Марченко , І., Коротенко , Г., Бешта , Д., & Пікуз , А. (2023). Дослідження ефективності роботи серіалізаторів даних мови програмування C# за допомогою розробленого програмного продукту для тестування. Вісник Приазовського Державного Технічного Університету. Серія: Технічні науки, (47), 8–24. https://doi.org/10.31498/2225-6733.47.2023.299923

Номер

Розділ

122 Комп'ютерні науки та інформаційні технології