[
https://issues.apache.org/jira/browse/AVRO-63?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Doug Cutting resolved AVRO-63.
------------------------------
Resolution: Won't Fix
This optimization is premature.
> Optimize #hashCode() and #equals() for Protocol and Schema
> ----------------------------------------------------------
>
> Key: AVRO-63
> URL: https://issues.apache.org/jira/browse/AVRO-63
> Project: Avro
> Issue Type: Improvement
> Components: java
> Reporter: Doug Cutting
>
> It's often useful to cache things derived from a Schema or Protocol in a
> WeakHashMap. Each cache lookup involves at least one call to #equals() and
> #hashCode() on the Schema or Protocol. But the Schema#hashCode() is
> expensive, since it must walk the entire schema, allocating objects to detect
> circular schemas. It would be better if Schema cached its hash code in a
> field. This can also be used optimize Schema#equals(): if two Schema's do
> not have the same hashCode then they cannot be equal. With these
> optimizations, the only slow case would be a cache lookup of an equal but not
> identical Schema. Perhaps even this can be optimized by caching its MD5 and
> assuming that, if the MD5 does not match, schemas are not equal.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.