Showing posts with label performance. Show all posts
Showing posts with label performance. Show all posts

Tuesday, March 13, 2007

C++ vs Java vs .NET
on Solaris & Windows

It's article shows performance test results for following environments:
  • C++ (Visual Studio 2005/VC 8.0)/ Windows 2003/ Intel P4 2GHz 1Gb RAM
  • C++ (gcc 3.3.4 +STLport 4.5.3) / Sun Solaris 10 / Sun Fire v210 (2x1.34 GHz UltraSPARC) 4Gb RAM
  • C++ (Visual Studio 2005/VC 8.0)/ Windows XP/ Intel Core 2 Duo E6300 (1,8 Ghz) 1Gb RAM
  • Java (JDK 1.6) / Windows 2003 / Intel P4 2GHz 1Gb RAM
  • Java (JDK 1.6) / Sun Solaris 10 / Sun Fire v210 (2x1.34 GHz UltraSPARC) 4Gb RAM
  • Java (JDK 1.6) / Windows XP/ Intel Core 2 Duo E6300 (1,8 Ghz) 1Gb RAM
  • C# (.NET 2.0) / Windows XP/ Intel Core 2 Duo E6300 (1,8 Ghz) 1Gb RAM
Overview

All tests specified values as time execution in seconds (with milliseconds) and smaller value is the better result.
It's a primitive single-thread test. The multi-thread test is work for me in future.
Java always ran in server VM mode (-server param).

Test source code :
You can get test result table from here

Result diagrams:

1. Objects creation test
2. Call virtual method with string (for C++ uses STL string) arguments and result

(Diagram will be publish later and not available now - please read table results)

3. Call a non-virtual usual method with string (for C++ uses STL string) arguments and result

(Diagram will be publish later and not available now - please read table results)

4. Network performance test for sockets (TCP/IP). Blocking mode with packet size 256 & 10000 iteration


5. Network performance test for sockets (TCP/IP). Blocking mode with packet size 256 & 100000 iteration


6. Call a virtual method with long arguments and result


7. Call a non-virtual method with long arguments and result

Thursday, January 18, 2007

Remoting frameworks performance comparison...
I take a simple test for Web-services (JAX-WS, ASP.NET) and BinaryNotesMQ performance and get the following results:

Environment: Intel Core 2 Duo 6300 / 1Gb RAM.
OS: Windows XP SP2
Transaction description: There is a process that calling service with 3 input params: 1 integer, 2 string parameters (contain small length values - approximately 5 chars) and receiving return result as simple string (~approximately 10 chars).

BNMQ: 80 bytes / 20000 tps (Java 1.6/BinaryNotes v1.4, PTPSession call async style)
ASP.NET: 643 bytes/ 400 tps (ASP.NET 2.0, async web-service call)
JAX-WS: 672 bytes/ 250 tps (Java 1.5, sync web-service call)
* Packet len is specified for call packet (without return result packet size).

Performance in tps (Transactions per second):


Tuesday, December 12, 2006

Java6 release is available now!
Under my tests this release improved performance really up to 20-30% (BinaryNotes)