Welcome to the new Gigaspaces XAP forum. To recover your account, please follow these instructions.

Ask Your Question

BenchMarks between Java and .Net

Does any one have bench marks in using gigaspace with .Net vs java. Any idea on what's might be the over head of .Net over java ?

Thanks -Venkat

{quote}This thread was imported from the previous forum. For your reference, the original is [available here|http://forum.openspaces.org/thread.jspa?threadID=3173]{quote}

asked 2009-07-10 14:37:24 -0600

venkatg gravatar image

updated 2013-08-08 09:52:00 -0600

jaissefsfex gravatar image
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

That really depends on the scenario you are checking. Remote or embedded, cluster or single, with or without backup, single operation vs batch operations and destructive operations or read only operations.

Basically a remote client should not notice significant difference between java and .NET if any, Since the over head is in memory translation, it is negligible compared to the network overhead.
(We are talking about hundreds of thousands transformations per seconds compared to network operations).
Also embedded processing unit which does destructive operations (Write, Update, Take) which will be replicated to a remote backup should not differ because of the same network overhead.

For local cache scenario there's the native .NET local cache implementation which fetch cached object without crossing the java barrier and therefore it is extremely fast.

So what I am trying to say here, it really depends on the scenario, but as I explained, in most cases there's no noticeable difference.


answered 2009-07-10 15:38:01 -0600

eitany gravatar image
edit flag offensive delete link more


shay hassidim gravatar imageshay hassidim ( 2009-07-11 10:37:42 -0600 )edit

I just want to emphasize that these benchmark gives you an estimate of raw throughput. However, they should be used to compare against each other because they are testing different scenarios.
For instance, one is multi threaded while the other is single threaded and it is not exactly the same object.


eitany gravatar imageeitany ( 2009-07-12 01:39:39 -0600 )edit

We are basically doing some POC on caching our trading data on certain symbols to spaces and some processing units process the data.

Expected throughput of 10K.
Expected Each object size : 2K-4K
We just want to know what would be the over head in using .Net over java.


venkatg gravatar imagevenkatg ( 2009-07-13 12:58:40 -0600 )edit

You mean that you are going to feed the cluster with 10k object per seconds which needs to be pressed by processing units that contains embedded spaces? Is it partition sync 2 backup?
Can you elaborate a bit how an entry is being processed regarding space operations, does it contain destructive operations that needs to be replicated to a backup (Write,Take,Update).

Anyhow, for such through put you should have no problems processing it in .NET, You should not start to complicate your scenario with interoperability. Not to mention that if you'll use parallel processing with event listener container you can reach much higher through put.

As a rule of thumb, the performance difference will be noticed on read operations which doesn't need to be replicated and are done faster at native Java, usually a processing cycle contains more than just read operation.


eitany gravatar imageeitany ( 2009-07-13 13:15:34 -0600 )edit

By the way, you can quite easily benchmark your scenario with embedded space operation which simulate your processing cycle.


eitany gravatar imageeitany ( 2009-07-13 14:48:29 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2009-07-10 14:37:24 -0600

Seen: 54 times

Last updated: Jul 10 '09