[
https://issues.apache.org/jira/browse/AVRO-3527?focusedWorklogId=795563&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-795563
]
ASF GitHub Bot logged work on AVRO-3527:
----------------------------------------
Author: ASF GitHub Bot
Created on: 27/Jul/22 08:44
Start Date: 27/Jul/22 08:44
Worklog Time Spent: 10m
Work Description: RyanSkraba commented on PR #1708:
URL: https://github.com/apache/avro/pull/1708#issuecomment-1196435707
Hey, thanks so much for your patience! The RC1 for 1.11.1 is out for
testing, so hopefully we should be getting around to PRs targetted for 1.12.0
in August.
Issue Time Tracking
-------------------
Worklog Id: (was: 795563)
Time Spent: 2h (was: 1h 50m)
> Generated equals() and hashCode() for SpecificRecords
> -----------------------------------------------------
>
> Key: AVRO-3527
> URL: https://issues.apache.org/jira/browse/AVRO-3527
> Project: Apache Avro
> Issue Type: Improvement
> Components: java
> Reporter: Steven Aerts
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.12.0
>
> Attachments: equals_hashcode_after.txt, equals_hashcode_before.txt,
> flame_graph.jpeg
>
> Time Spent: 2h
> Remaining Estimate: 0h
>
> When profiling our production system, we found that it was spending almost
> 40% of its overall time in the {{SpecificRecordBase.hashCode()}} and
> {{SpecificRecordBase.equals()}} implementations.
> In some sections of its logic we see that almost all time is spend in those
> function, as can be seen in attached flame graph (blue "pyramids")
> !flame_graph.jpeg|width=385,height=99!
> By generating the {{.equals()}} and {{.hashCode()}} all this overhead
> disappeared and this application became 35% faster overall.
> Also on other AVRO heavy applications we saw noticeable performance gains
> where we hadn't expect them due to this improvement.
> A generated implementation of {{.hashCode()}} becomes 5 to 10 times faster
> than its generic counterpart. For {{.equals()}} it is 10 to 20 times faster.
> Which is also visible in the attached JMH benchmarks.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)