|
|
![]() ![]() |
Performance Comparison between SocketPro and dotNet Remoting as well as Window Communication Framework (WCF)
1. Introduction Everyone knows that software performance is extremely importance within a real enterprise system. No software engineer is willing to create a sluggish software. We have created a socket-based framework based on asynchrony, batching and parallel computation to accelerate data movement between two computers. It is named as SocketPro. One of its most attractive advantages is that the framework has extremely high performance in comparison with other well known frameworks such as DCOM, Corba, Java RMI, dotNet Remoting, WCF and SOAP/XML web service. This article, attached with all of source codes, specifically shows you the performance improvement of the framework over the latest Microsoft technology, dotNet remoting and WCF. Hopefully, it catches your attention. 2. Performance Comparison Source Code Source codes for both VB.NET and C# performance investigation projects are located at the directory ..\samples\performance, after installing SocketPro Package The dotNet remoting and WCF samples are created with TCP binary format channel. A DataSet instance is set with BinaryFormat for both remoting and WCF in .NET 2. Additionally, security of WCF is disabled. 3. Results Overall, SocketPro has a huge performance benefit over both dotNet remoting and WCF under all of cases. In comparison with .NET 1.1/1.0, remoting DataSet in .NET 2 is largely improved in performance within .NET 2 environment. However, it is still far slower than SocketPro. The following lists found results. LAN with bandwidth 100 mbps or localhost:
LAN (bandwidth 10 mbps) and WAN (Wide Area Networking): Within SocketPro, you can easily batch requests with online compressing. Usually, you like to turn on online compressing. We compare WCF and dotNet remoting with our SocketPro using low bandwidth network. For remoting DataSet objects, SocketPro is usually 250% faster than .NET remoting after turning on online zipping. For sending requests, SocketPro could be 200 times or more faster than .NET remoting because you can easily batch requests in SocketPro. Further, SocketPro can also zip batched requests and unzip batched returned results. The two key features significantly and significantly speed up distributed application performance. 4. Why is SocketPro so much faster than .NET remoting and WCF? a.
SocketPro can batch any number of requests at client and returned results at
server so that network efficiency is 100% and no bandwidth is wasted. This is
very different from the above common frameworks. SocketPro is written from asynchrony, batching and parallel computation. Its design is dramatically different from frameworks like SOAP/XML web service, dotNet remoting, WCF, DCOM, Corba and Java RMI. It is more closer to non-blocking socket but it certainly makes socket programming much more easier. This article is written specifically for demonstration of SocketPro performance, compared with MS dotNet remoting and WCF. Although we didn't compare it with other common frameworks, it is guaranteed that all of other frameworks run like snail too in speed, in comparison to SocketPro. At last, SocketPro not only offers the best performance among all of common frameworks but also has a lot of features. Many of them are unique and can be found ONLY in SocketPro. For a list of features, see the article. |