[
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)