Performance comparison of programming interfaces on the example of REST API, GraphQL and gRPC
Mariusz Śliwa
mariusz.sliwa1@pollub.edu.plLublin University of Technology (Poland)
Beata Pańczyk
(Poland)
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:
REST, gRPC, GraphQL, performance testingReferences
What is an API? (Application Programming Interface), https://www.mulesoft.com/resources/api/what-is-an-api, [10.09.2021]
Google Scholar
B. M. Balachandar, RESTful Java Web Services: A pragmatic guide to designing and building RESTful APIs using Java, 3rd Edition, Packt Publishing, 2017.
Google Scholar
Dokumentacja gRPC, https://grpc.io/docs, [01.03.2021]
Google Scholar
A. Tuban, REST vs gRPC vs GraphQL, https://technologyrivers.com/blog/rest-vs-grpc-vs-graphql, [01.03.2021]
Google Scholar
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]
Google Scholar
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]
Google Scholar
Wprowadzenie do .NET, https://docs.microsoft.com/en-us/dotnet/core/introduction, [10.09.2021]
Google Scholar
Dokumentacja JavaScript-owego API biblioteki k6, https://k6.io/docs/javascript-api, [10.09.2021]
Google Scholar
Authors
Beata PańczykPoland
Statistics
Abstract views: 2138PDF downloads: 1417
License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.