[ 
https://issues.apache.org/jira/browse/IGNITE-1613?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14943269#comment-14943269
 ] 

Pavel  Tupitsyn commented on IGNITE-1613:
-----------------------------------------

DateTime:
* Bottleneck is ToUniversalTime() call. We can't get rid of it or cache UTC 
ticks offset because it can lead to bugs with daylight savings and such.
* Current marshalling format is (long milliseconds) + (int nanoSecondPart). 
Java uses it for both Date (which is expressed as a single long, in 
milliseconds) and Timestamp (which is in nanoseconds)
* .Net DateTime is a single long, in ticks. 1 tick = 100 nanoseconds. So 
interop format carries more info than we need, and Write->Read roundtrip will 
always return the same value
* We could separate Date and Timestamp serialization in Java to improve 
performance, but it would complicate .Net interop since (Java Date precision) < 
(.Net DateTime precision) < (Java Timestamp precision).

> Platform .Net: Investigate Guid/DateTime/String interoperability with Java
> --------------------------------------------------------------------------
>
>                 Key: IGNITE-1613
>                 URL: https://issues.apache.org/jira/browse/IGNITE-1613
>             Project: Ignite
>          Issue Type: Task
>          Components: interop
>    Affects Versions: ignite-1.5
>            Reporter: Pavel  Tupitsyn
>            Assignee: Pavel  Tupitsyn
>             Fix For: ignite-1.5
>
>
> Currently in .Net we:
> * write Guid and DateTime in Java format
> * calculate string hash code for field names with Java algorithm on each call
> Need to investigate if the following makes sense:
> 1) In .Net always write Guid and DateTime in native .Net format as fast as 
> possible; Make Java understand that format. (Not every Guid written in .Net 
> will be read in Java, so we can win time).
> 2) Cache string hashcodes somehow.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to