c# - How can I get XMLRPC.NET to match perl speed? -
I have a xmlrpc
server which is written in C ++ ( libxmlrpc ++
). This getversion ()
is returning a string.
-
Calling it from
pearl
(using), 100 calls 1.25s -
Calling it from
C #
(usingXMLRPC.NET), 100 calls 50.322. <
It's running on Windows 7 Pro.
Any thoughts on what is happening, and how to fix it? [XmlRpcUrl ("Http: // localhost: 9000 / RPC2")] Public Interface ICutControl: IXmlRpcProxy {[XmlRpcMethod] string reversal (); } Class program {public static zero} (ICTCTL proxy; proxy = XmlRpcProxyGen.Create & lt; ICutControl & gt; (); Int calculation = 100; try {for (int i = 0; i & lt; 100; i ++ ) {String version = proxy.getversion (); console.light line ("{0}: {1}", i, version);}} hold (System.Net.WebException pre) {Console.Error.WriteLine (" Exception: {0} ", prior.);}} Proxy = Null;}
[Update]
I compressed Tried, but it did not make any difference. Since it is happening on the client side, restart the server I'm out of ideas, I'm using Pearl cygwin. I add the pell below.
#! / Usr / bin / perl Use warnings; Strict use; RPC: : Use XML; Use RPC :: XML :: Client; my $ url = 'http: // localhost: 9000 / rpc 2'; my $ cli = RPC :: XML :: Client- & gt; New ($ Url); (my $ i = 0; $ i & lt; 100; $ i ++) for (my $ resp = $ cli- & gt; send_quest ('reversal', ()); Print "version:", $ resp-> Value, "\ n"; }
[Update]
I did not get the answer why XMLRPC.NET is slow.
But By writing a C ++ / CLR cover around the LimbxMLRCP ++ library, I get a 100-fold increase in speed.
Comments
Post a Comment