Performance research of C# programming language data serializers using the developed software product for testing
DOI:
https://doi.org/10.31498/2225-6733.47.2023.299923Keywords:
data serialization, serializer, C# programming language, JSON format, .NET platformAbstract
The article deals with the issue of using data serializers for the implementation of projects related to the processing of large volumes of data, as well as the support of high-speed data transmission in distributed systems. It is shown that in this context, the choice of the most effective serialization mechanism is critical for ensuring the performance and scalability of applications. The purpose of this work is to study the effectiveness of data serializers of the C# programming language by developing a software product for testing serializers using objects of different size and type. A review of scientific research on the use of various data serialization formats: XML, JSON, BSON, MessagePack, Smile, Protocol Buffers, Flat Buffers, Apache Thrift was conducted. It was concluded that XML and JSON formats are the most popular today, and their comparative analysis was performed. The expediency of using the JSON serialization format is substantiated, which is due to its safety compared to the binary format, its smaller size compared to the XML format, as well as the support of most software development tools. The .NET framework is chosen, which provides standard tools for JSON serialization of the C# programming language, namely: System.Runtime.Serialize.Json and System.Text.Json, which are supplied by default. The most popular software solutions for serializing C# objects are analyzed, the feasibility of testing such serializers as Jil, Json.NET, Utf8Json, SpanJson and standard serializers is shown in order to identify the advantages and disadvantages of their use for the implementation of specific tasks and projects. The C# BenchmarkDotNet programming language library was chosen to create the tester program. It is noted that this framework of the .NET platform allows you to convert methods into tests and create performance testing thanks to a powerful statistical mechanism. A class diagram and a component diagram of the developed software are given. A study of 5 data serializers was conducted, which included the execution of 7 experiments on serialization of objects with different types of data. The consumption of time and working memory during serialization of small and large objects was analyzed; objects containing one-dimensional, two-dimensional and three-dimensional arrays of natural numbers, an object with a complex chain of class inheritance, as well as an object containing a dictionary. The results of experimental studies showed the dependence of the effectiveness of serializers on the type and volume of data to be serialized. It is concluded that there is no one-size-fits-all serializer that will perform best in all cases. Recommendations for the use of various serializers are provided, taking into account the requirements of a specific project
References
Грудзинський Ю.Є., Марков Р.В. Вибір протоколу серіалізації при розробці програмного забезпечення. Вісник НТУ «ХПІ». Серія: Нові рішення в сучасних технологіях. 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.
Downloads
Published
How to Cite
Issue
Section
License
The journal «Reporter of the Priazovskyi State Technical University. Section: Technical sciences» is published under the CC BY license (Attribution License).
This license allows for the distribution, editing, modification, and use of the work as a basis for derivative works, even for commercial purposes, provided that proper attribution is given. It is the most flexible of all available licenses and is recommended for maximum dissemination and use of non-restricted materials.
Authors who publish in this journal agree to the following terms:
1. Authors retain the copyright of their work and grant the journal the right of first publication under the terms of the Creative Commons Attribution License (CC BY). This license allows others to freely distribute the published work, provided that proper attribution is given to the original authors and the first publication of the work in this journal is acknowledged.
2. Authors are allowed to enter into separate, additional agreements for non-exclusive distribution of the work in the same form as published in this journal (e.g., depositing it in an institutional repository or including it in a monograph), provided that a reference to the first publication in this journal is maintained.







