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

David Reiss commented on THRIFT-10:
-----------------------------------

This is awesome.  In the future, it might even be worth pre-generating all of 
the TSet, TList, and maybe even TMap objects so that we can just do a lookup 
when reading instead of allocating a new object.

I don't know if it is worth making TMessage final, but it doesn't hurt.

In the expression "is_upper && character != '_'", the check against '_' is 
redundant.

There is a libc function isupper.  For most optimal C++ style, #include 
<cctype>, then call it as std::isupper(c).

You've added a little bit of trailing whitespace.

> Descriptors used during serialization should be immutable objects
> -----------------------------------------------------------------
>
>                 Key: THRIFT-10
>                 URL: https://issues.apache.org/jira/browse/THRIFT-10
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Library (Java)
>            Reporter: Johan Stuyts
>            Assignee: Bryan Duxbury
>            Priority: Minor
>             Fix For: 0.1
>
>         Attachments: ImmutableProtocolComponentDescriptors2.patch, 
> SerializationBenchmarkMain.java, thrift-10-v2.patch
>
>
> The descriptors for structures, messages, types, etc. in package 
> {{com.facebook.thrift.protocol}} which are used during (de-)serialization 
> have mutable attributes. This forces the creation of these descriptors for 
> each use even if the data is constant in many cases.
> By changing the descriptors to be immutable, structures and protocols can use 
> singleton, constant instances during (de-)serialization. This will improve 
> performance a bit by preventing the creation of hundreds (thousands?) of 
> short-lived objects per second during heavy use of Thrift.

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

Reply via email to