Hi,

We are in the process of upgrading to 1.7.6 from 1.7.3. But it seems 1.7.6 
deserialization is slower by about 10%-30%. We did profiling and found the 
bottleneck being JsonProperties.getJsonProp(). Please see the profiling result 
below 1.7.6 vs. 1.7.3. I did some research in the list and didn't find anything 
similar. Any idea what could have caused this?

Thanks you!

Dan.

// 1.7.6
CPU SAMPLES BEGIN (total = 31964)
rank   self  accum   count trace method
   1 70.67% 70.67%   22589 300641 org.apache.avro.JsonProperties.getJsonProp
   2  8.22% 78.89%    2628 300645 org.apache.avro.JsonProperties.getJsonProp
   3  6.30% 85.20%    2015 300640 org.apache.avro.JsonProperties.getJsonProp
   4  4.10% 89.30%    1311 300572 
org.apache.avro.Schema$FixedSchema.getFixedSize
   5  1.68% 90.98%     538 300648 org.apache.avro.JsonProperties.getJsonProp

TRACE 300641: (thread=200001)
        org.apache.avro.JsonProperties.getJsonProp(JsonProperties.java:54)
        org.apache.avro.JsonProperties.getProp(JsonProperties.java:45)
        
org.apache.avro.specific.SpecificDatumReader.getPropAsClass(SpecificDatumReader.java:92)
        
org.apache.avro.specific.SpecificDatumReader.findStringClass(SpecificDatumReader.java:80)
        
org.apache.avro.generic.GenericDatumReader.getStringClass(GenericDatumReader.java:394)
        
org.apache.avro.generic.GenericDatumReader.readString(GenericDatumReader.java:351)
        
org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:157)

// 1.7.3
CPU SAMPLES BEGIN (total = 22383)
rank   self  accum   count trace method
   1  4.81%  4.81%    1077 300527 
org.apache.avro.Schema$FixedSchema.getFixedSize
   2  3.09%  7.90%     691 300624 
org.apache.avro.io.BinaryDecoder$InputStreamByteSource.tryReadRaw
   3  1.61%  9.51%     361 300850 
org.apache.avro.generic.GenericDatumReader.readString
   4  1.52% 11.04%     341 300924 
org.apache.avro.generic.GenericDatumReader.readString
   5  1.44% 12.47%     322 300795 
org.apache.avro.generic.GenericDatumReader.readString

----------------------------------------------------------------------
This message, and any attachments, is for the intended recipient(s) only, may 
contain information that is privileged, confidential and/or proprietary and 
subject to important terms and conditions available at 
http://www.bankofamerica.com/emaildisclaimer.   If you are not the intended 
recipient, please delete this message.

Reply via email to