XML-RPC response structures that contain return values or fault information for supporting HTTP responses.
For the performance test several libraries are available for example Apache XML-RPC that was selected to compare to other solutions.
The XML-RPC specification was used as a basis for creating SOAP (Simple Object Access Protocol) that is an open-standard, XML-based messaging protocol for exchanging information among computers.
SOAP and WSDL are complex and highly-verbose formats, therefore their performances are naturally worse, than XML-RPC. Furthermore, if correctly implemented all XML-RPC libraries are compatible the same cannot be said about SOAP.
JSON-RPC is very similar to XML-RPC but encoded in JSON instead of XML.
These are: for XML-RPC in C++ xmlrpc-c, in Java Apache XMLRPC , in Ruby the standard library XMLRPC  for JSON-RPC in C++jsonrpccpp, in Java JSONRPC 2.0 by [d]zhuvinov [s]ofTware , in Ruby jsonrpc2.0 with webrick .
It also has to be noted while XML-RPC implementations were easy to find, JSON-RPC is not as widespread judging from the available libraries.
In XML-RPC, the Ruby server implementation almost tripled the amount of time required to run the tests regardless of client language.
The XML-RPC Ruby client was generally slower than other clients, taking almost twice the time to complete the test runs.
In this paper, the structure of third generation RPCs was analysed to find answers for the differences in the performance of different RPC solutions: Google RPC, XML-RPC and JSON-RPC.
It is worth noting that even though the evaluation was performed on SOAP services--given the availability of reliable WSDL datasets--the proposed mechanism would be also suitable for XML-RPC and REST-like web services, as long as their documentation is available in a semi-structured format (e.g.
(1) For example: (XML-RPC) http://www.benchmarkemail.com/API/Library (REST) https://dev.twitter.com/docs/ api/1.1