ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dmitriy Setrakyan <dsetrak...@apache.org>
Subject Re: Native .NET
Date Mon, 26 Oct 2015 11:31:29 GMT
As far as I can tell, the only potential overhead in Ignite .NET support
vs. Java is the JNI layer. However, we have been testing it internally, and
in distributed tests (2+ nodes) we have not seen any performance
degradation due to JNI. The reason is that JNI overhead becomes largely
negligible compared to the network I/O.

D.

On Mon, Oct 26, 2015 at 4:26 AM, Vladimir Ozerov <vozerov@gridgain.com>
wrote:

> James,
>
> Yes, you described Ignite.NET architecture correctly. It provides native
> .NET API and marshalling layer. All infrastructure-related work is
> performed by C++/Java code.
>
> Vladimir.
>
> On Mon, Oct 26, 2015 at 12:52 PM, jamesgibbs100 <jamesgibbs100@hotmail.com
> > wrote:
>
>> Vladimir,
>>
>> Thank you for taking the time to get back to me.
>>
>> Referring to :
>>
>> http://apache-ignite-developers.2346864.n4.nabble.com/C-and-NET-td2403.html
>>
>> /"These are not basic client APIs, but rather is a full-blown in-memory
>> data
>> fabric for .NET and C++ users. The goal is that users of these languages
>> will not have to write any Java code at all in order to use any Apache
>> Ignite features"/
>>
>> From the above, I was expecting .NET to have a 100% native implementation,
>> however, reviewing the codebase led me to understand .NET was delegating
>> through JNI to a JVM for core functionality.
>>
>> In a trivial case, a single node launched in embedded mode, I was
>> surprised
>> to see the code attempted to create a JVM when I had no intention of using
>> one - this was my lack of understanding of the architecture.
>>
>> So, my question whilst motivated by performance, is more concerned with
>> confirming the above description of how the .NET client is implemented.
>>
>> Is the above assumption/approximation correct ?
>>
>> Thanks again
>> James
>>
>>
>>
>>
>> Vladimir Ozerov wrote
>> > James,
>> >
>> > My last statement is a bit confusing. What I wanted to say is that
>> > normally
>> > both Java and .Net spend comparable time on serialization.
>> >
>> > On Mon, Oct 26, 2015 at 10:38 AM, Vladimir Ozerov <
>>
>> > vozerov@
>>
>> > >
>> > wrote:
>> >
>> >> James,
>> >>
>> >> Ignite is distributed application and both Java and .Net require
>> >> marshalling to pass data between nodes. Therefore, in the vast majority
>> >> of
>> >> scenarios .Net has marshalling overhead comparable to Java version.
>> >>
>> >> Vladimir.
>> >>
>> >> On Sun, Oct 25, 2015 at 8:46 PM, James Gibbs <
>>
>> > jamesgibbs100@
>>
>> > >
>> >> wrote:
>> >>
>> >>> Hi there
>> >>>
>> >>> I'm looking to understand more about the .NET implementation for
>> Ignite.
>> >>>
>> >>> The .NET code appears to require a JVM and C++ code to talk through
>> JNI,
>> >>> so I am guessing that the main work load is still performed by Java
>> code
>> >>> and hence .NET code suffers from marshalling overheads etc.
>> >>>
>> >>> Is this the case ?
>> >>>
>> >>> Thanks in advance
>> >>> James
>> >>>
>> >>
>> >>
>>
>>
>>
>>
>>
>> --
>> View this message in context:
>> http://apache-ignite-users.70518.x6.nabble.com/Native-NET-tp1689p1699.html
>> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>>
>
>

Mime
View raw message