Speed comparison between WCF, Java, DataSnap and mORMot
Roberto Scheinders wrote a nice blog post about performance and stability of DataSnap XE3, compared with mORMot and some other available frameworks.
Compared frameworks were:
- DataSnap (Delphi)
- mORMot (Delphi)
- ASP.NET WCF
- Jersey/Grizzly (Java)
In short, DataSnap was slow and not stable (concurrent test was crashing the application), whereas mORMot was very stable, very fast (faster than any other in concurrent mode), and used much less memory.
When compared with WCF, we can be proud that our little mORMot has
a very good responsiveness, in regard to all the resources put by Microsoft for
optimizing their platform.
"Native" compilation like Delphi can do wonders, when used properly, as we try to do with our framework.
In fact, WCF and mORMot uses the same kernel-mode server of
Windows, i.e. http.sys.
See this blog article.
So you can still have "managed" applications (like Java or .Net) be more responsive than "native" applications, when performance was not part of the roadmap, just like with DataSnap.
Some benchmark drawings, extracted from the blog article:
In fact, mORMot did only use 50% of the Server side - the
bottleneck on this test was the Client.
With a better client, we may have reached even better results!
Feedback welcome on our forum, as usual.