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

Douglas Kaminsky commented on AVRO-853:
---------------------------------------

Depends on your definition of "quacksLike" - if schemaA has "a" and "b" and 
schemaB has "b" then schemaA could "quack like" schemaB, so subsumes would 
work. If I wanted to know if schemaA and schemaB are structurally equal (they 
both have "a" and "b") I would have to check that schemaA subsumes schemaB AND 
that schemaB subsumes schemaA, which is an inherently inefficient way to 
compare structure.

P.S. quacksLike is a bad name, but I like it better than "subsumes" - will 
comment on AVRO-816 similarly :)

> Cache hash codes in Schema and Field
> ------------------------------------
>
>                 Key: AVRO-853
>                 URL: https://issues.apache.org/jira/browse/AVRO-853
>             Project: Avro
>          Issue Type: Improvement
>          Components: java
>    Affects Versions: 1.5.1
>            Reporter: Douglas Kaminsky
>         Attachments: AVRO-853-approach2.patch, AVRO-853.patch
>
>
> We are experiencing a serious performance degradation when trying to 
> store/retrieve fields and schemas in hash-based data structures (eg. 
> HashMap). Since all fields and schemas are immutable (with the exception of 
> RecordSchema allowing deferred setting of Fields) it makes sense to cache the 
> hash code on the object instead of recalculating every time the hashCode 
> method gets called. 
> (Are there other mutable Schema sub-types that I'm not thinking about?)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to