Initlal Java vs .NET Disruptor Performance Comparison

Initial timings from Mac OS X MacBookPro Dual Core i7 2.66GHz with 8G Ram running VMware Fusion allocated 4G Ram 2 CPU running Win7 64bit

Java 1.6.0_24:

JUnit version 4.5
.UniCast1P1CPerfTest OpsPerSecond run 0: BlockingQueues=9546903, Disruptor=24400956
UniCast1P1CPerfTest OpsPerSecond run 1: BlockingQueues=10529419, Disruptor=24241248
UniCast1P1CPerfTest OpsPerSecond run 2: BlockingQueues=10955062, Disruptor=28070963

.NET 4.0:

UniCast1P1CPerfTest OpsPerSecond run 0: BlockingQueues=2,221,235.00, Disruptor=7,987,220.00
UniCast1P1CPerfTest OpsPerSecond run 1: BlockingQueues=2,313,743.00, Disruptor=9,398,496.00

In summary, the .NET codebase needs to find 2.5x to catch the Java Disruptor

Advertisement

~ by mdavey on June 30, 2011.

7 Responses to “Initlal Java vs .NET Disruptor Performance Comparison”

  1. I’ve also started a project to port the java disruptor to .NET. You can find the project on GitHub: https://github.com/TimGebhardt/Disruptor.NET. I’ve got all the unit tests passing (as opposed to the project you linked). I’m beginning to port the performance tests now.

    • Excellent. Please post your performance numbers here once your are ready

    • It would be interesting to see if it is a bad port or if the JVM is more optimised for that purpose.

      • Bad port – v0.1. Improvements have already been found since the C# code was public a week or so ago

  2. I’d run the test on Win7 native rather than virtualized to rule out anything in the VM layer that the CLR is interfering with?

  3. [...] Davey (Technical Director at Lab49) also has a couple of posts about porting the Disruptor and comparing the performance of his port to the Java [...]

  4. I’m not sure why are you trying to benchmark since not all the apps have not been optimized to their respective framework. You can make any app behave badly due to a poor design, even if the underlying framework has outstanding inherent performance.
    If looking for VM benchmarks you can start here:
    http://www.codeproject.com/KB/dotnet/RuntimePerformance.aspx

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

 
Follow

Get every new post delivered to your Inbox.

Join 273 other followers