Performance comparison of programming interfaces on the example of REST API, GraphQL and gRPC
Article Sidebar
Open full text
Issue Vol. 21 (2021)
-
Comparison of selected mathematical functions for the analysis of growth behavior of items and physical interpretation of Avrami-Weibull function
Keshra Sangwal259-278
-
Comparison of classical machine learning algorithms in the task of handwritten digits classification
Oleksandr Voloshchenko, Małgorzata Plechawska-Wójcik279-286
-
The comparative analysis of Java frameworks: Spring Boot, Micronaut and Quarkus
Maciej Jeleń, Mariusz Dzieńkowski287-294
-
Usability analysis taking into consideration the aspects of accessibility of selected university websites
Karol Kałan, Damian Karpiuk, Mariusz Dzieńkowski295-302
-
A comparison of conventional and deep learning methods of image classification
Maryna Dovbnych, Małgorzata Plechawska–Wójcik303-308
-
Comparative analysis of connection performance with databases via JDBC interface and ORM programming frameworks
Mateusz Żuchnik, Piotr Kopniak309-315
-
Examination of text's lexis using a Polish dictionary
Roman Voitovych, Edyta Łukasik316-323
-
Comparison of capabilities of the Unity environment and LibGDX in terms of computer game development
Piotr Kosidło, Karol Kowalczyk, Marcin Badurowicz324-329
-
Performance analysis of the TensorFlow library with different optimisation algorithms
Maciej Wadas, Jakub Smołka330-335
-
Analysis of user experience during interaction with selected CMS platforms
Michał Miszczak, Mariusz Dzieńkowski336-343
-
Analysis of polish community on streaming platform twitch.tv during COVID-19 epidemy
Kamil Jeżowski, Marcin Badurowicz344-348
-
A study of the user experience when interacting with applications that work with sports armbands to monitor human activity
Mateusz Kiryczuk, Paweł Kocyła, Mariusz Dzieńkowski349-355
-
Performance comparison of programming interfaces on the example of REST API, GraphQL and gRPC
Mariusz Śliwa, Beata Pańczyk356-361
-
Digital entertainment in the face of COVID-19
Adam Jarszak362-366
-
Symfony and Laravel – a comparative analysis of PHP programming frameworks
Krzysztof Kuflewski, Mariusz Dzieńkowski367-372
-
A comparative analysis of cryptocurrency wallet management tools
Kamil Biernacki, Małgorzata Plechawska-Wójcik373-377
-
Analysis of data storage methods available in the Android SDK
Dominika Kornaś378-382
-
An analysis of the possibility of realization steganography in C#
Piotr Pawlak, Jakub Podgórniak, Grzegorz Kozieł383-390
Main Article Content
DOI
Authors
Abstract
The article presents a comparison of the performance of three ways of implementing programming interfaces used in web applications - REST, GraphQL and gRPC. For the purposes of the research, three applications were developed, which were made in each of the indicated technologies and with the same functionalities. The applications were used for performance tests carried out with the use of the k6 tool. The applications are used to measure the execution time, performance and volume of processed data during display and adding operations. The obtained results allowed for the conclusion that the best interface in terms of performance (measured as the number of transactions per second) and server response time is REST. However, in terms of the smallest data volume, gRPC is the best choice.
Keywords:
References
What is an API? (Application Programming Interface), https://www.mulesoft.com/resources/api/what-is-an-api, [10.09.2021]
B. M. Balachandar, RESTful Java Web Services: A pragmatic guide to designing and building RESTful APIs using Java, 3rd Edition, Packt Publishing, 2017.
Dokumentacja gRPC, https://grpc.io/docs, [01.03.2021]
A. Tuban, REST vs gRPC vs GraphQL, https://technologyrivers.com/blog/rest-vs-grpc-vs-graphql, [01.03.2021]
R. Rocha, APIs REST, GraphQL or gRPC – Who wins this game?, https://www.sensedia.com/post/apis-rest-graphql-or-grpc-who-wins-this-game, [01.03.2021]
A. F. Helgason, Performance analysis of Web Services: Comparison between RESTful & GraphQL web services, University of Skövde, http://his.diva-portal.org/smash/record.jsf?pid=diva2:1107850, 2017, [01.03.2021]
Wprowadzenie do .NET, https://docs.microsoft.com/en-us/dotnet/core/introduction, [10.09.2021]
Dokumentacja JavaScript-owego API biblioteki k6, https://k6.io/docs/javascript-api, [10.09.2021]
Article Details
Abstract views: 2904
License

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
