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

Hudson commented on AVRO-1282:
------------------------------

Integrated in AvroJava #369 (See [https://builds.apache.org/job/AvroJava/369/])
    AVRO-1282. Java: Use sun.misc.Unsafe to improve Reflect API Performance.
    (Leo Romanoff via scottcarey) (Revision 1477712)

     Result = SUCCESS
scottcarey : 
Files : 
* /avro/trunk/CHANGES.txt
* 
/avro/trunk/lang/java/avro/src/main/java/org/apache/avro/generic/GenericDatumReader.java
* 
/avro/trunk/lang/java/avro/src/main/java/org/apache/avro/generic/GenericDatumWriter.java
* 
/avro/trunk/lang/java/avro/src/main/java/org/apache/avro/io/EncoderFactory.java
* 
/avro/trunk/lang/java/avro/src/main/java/org/apache/avro/reflect/ArrayAccessor.java
* 
/avro/trunk/lang/java/avro/src/main/java/org/apache/avro/reflect/FieldAccess.java
* 
/avro/trunk/lang/java/avro/src/main/java/org/apache/avro/reflect/FieldAccessReflect.java
* 
/avro/trunk/lang/java/avro/src/main/java/org/apache/avro/reflect/FieldAccessUnsafe.java
* 
/avro/trunk/lang/java/avro/src/main/java/org/apache/avro/reflect/FieldAccessor.java
* 
/avro/trunk/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectData.java
* 
/avro/trunk/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectDatumReader.java
* 
/avro/trunk/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectDatumWriter.java
* 
/avro/trunk/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectionUtil.java
* 
/avro/trunk/lang/java/avro/src/test/java/org/apache/avro/reflect/TestReflect.java
* 
/avro/trunk/lang/java/avro/src/test/java/org/apache/avro/reflect/TestReflectionUtil.java
* /avro/trunk/lang/java/ipc/src/test/java/org/apache/avro/io/Perf.java

                
> Make use of the sun.misc.Unsafe class during serialization if a JDK supports 
> it
> -------------------------------------------------------------------------------
>
>                 Key: AVRO-1282
>                 URL: https://issues.apache.org/jira/browse/AVRO-1282
>             Project: Avro
>          Issue Type: Improvement
>          Components: java
>    Affects Versions: 1.7.4
>            Reporter: Leo Romanoff
>            Priority: Minor
>             Fix For: 1.7.5, 1.8.0
>
>         Attachments: AVRO-1282-s1.patch, AVRO-1282-s2.patch, 
> AVRO-1282-s3.patch, AVRO-1282-s5.patch, AVRO-1282-s6.patch, 
> AVRO-1282-s7.patch, avro-1282-v1.patch, avro-1282-v2.patch, 
> avro-1282-v3.patch, avro-1282-v4.patch, avro-1282-v5.patch, 
> avro-1282-v6.patch, avro-1282-v7.patch, avro-1282-v8.patch, 
> AVRO-1282-v9.patch, TestUnsafeUtil.java
>
>
> Unsafe can be used to significantly speed up serialization process, if a JDK 
> implementation supports java.misc.Unsafe properly. Most JDKs running on PCs 
> support it. Some platforms like Android lack a proper support for Unsafe yet.
> There are two possibilities to use Unsafe for serialization:
> 1) Very quick access to the fields of objects. It is way faster than with the 
> reflection-based approach using Field.get/set
> 2) Input and Output streams can be using Unsafe to perform very quick 
> input/output.
>  
> 3) More over, Unsafe makes it possible to serialize to/deserialize from 
> off-heap memory directly and very quickly, without any intermediate buffers 
> allocated on heap. There is virtually no overhead compared to the usual byte 
> arrays.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to