During computer programming contests the use of automatic evaluation systems is becoming more and more frequent. In said systems the contestants are allowed to submit their source code that will be evaluated with the results reported back to them. According to this report the contestant can realise for what test cases his program works properly and for what cases does it fail. This kind of on-line evaluation system is used for example in the International Olympiad in Informatics (IOI), in the final round of the Nemes Tihamér National Programming Competition, and in the Selection Competition for IOI in Hungary. A contest management system can be used for other purposes apart from this singular example. A well-developed evaluation system can foster not only the teaching of computer programming and the preparation of students for programming contests but the teacher's work as well.
In a client-server network, sockets provide a mechanism for a program to establish a connection to another program and send messages back and forth. This interface underlies the working of a mechanism that allows a program running as a process on computer A to call a procedure or a function on computer B, pass parameters to it and have the result returned. After the call, the caller process on A is suspended and execution continues on B. When the callee procedure or function on computer B finishes and produces its results, it is passed back to the calling environment on computer A. Then the process on A continues the execution from where it was suspended. This mechanism is called the Remote Procedure Call (RPC). The question is how long must the process wait for the answer to arrive from computer B and why? To answer the question, this paper describes the structure of third generation RPCs and analyses them, putting the focus on the way of marshalling parameters, and performance. To facilitate the choice between them this paper represents the results of performance tests carried out by the authors. The tests are implemented in Java, Ruby, and C++ using GRPC, XML-RPC, and JSON-RPC with calls between the languages to create a broader picture of their performance characteristics.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.