You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Nathan Marz (JIRA)" <ji...@apache.org> on 2009/02/10 01:07:59 UTC

[jira] Commented: (THRIFT-318) Performance of HashSet for enumeration VALID_VALUES seems poor

    [ https://issues.apache.org/jira/browse/THRIFT-318?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12672068#action_12672068 ] 

Nathan Marz commented on THRIFT-318:
------------------------------------

Notes:

1. Make "Extent" a static class
2. I'm not crazy about the name "contains" for Extent, since it also says where the value stands in relation to the extent. Maybe it should be called "relation" or something like that?
3. Add @Override to toString()
3. It seems like this class shouldn't implement the Set interface, since most of the methods aren't implemented. I think it would be cleaner and clearer to just have it implement Iterable<Integer>



> Performance of HashSet for enumeration VALID_VALUES seems poor
> --------------------------------------------------------------
>
>                 Key: THRIFT-318
>                 URL: https://issues.apache.org/jira/browse/THRIFT-318
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Compiler (Java)
>            Reporter: Bryan Duxbury
>            Assignee: Bryan Duxbury
>            Priority: Minor
>             Fix For: 0.1
>
>         Attachments: thrift-318.patch
>
>
> It looks like using a HashSet for the VALID_VALUES set we now put in enumerated types was a bad move, performance-wise. There's a fair amount of HashSet/HashMap/Integer overhead generated.
> I think that the VALID_VALUES should still be a Set, but we can make a TIntRangeSet or something internal to Thrift that's more efficient for our usecases and save some CPU.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.