I've not analysed into it yet, but specific parts showing up in your captured traces appear to be cause of https://issues.apache.org/jira/browse/AVRO-1268 if you'd like to take a look at that change.
On Thu, Jun 12, 2014 at 1:35 AM, Han, Xiaodan <[email protected]> wrote: > 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. -- Harsh J
