Doug,

BTW, can you explain the reason of recent introducing proxies and CommAddress ?

What do we need them for, and why they were added so deeply - into
AsyncComm library, while they used only for communicating Master and
RangeServer and not used by other executables (Hyperspace, DfsBroker,
Thrift) at all.


2010/4/4, conferno <[email protected]>:
> Doug,
>
> if you take care of performance hit of object copying, the rule "Use
> the C++ keyword explicit for constructors with one argument." would be
> your friend as well.
>
> There are a lot of places where objects are constructed implicitly.
> For example, CommAddress out of InetAddr.
>
> 2010/4/4, Doug Judd <[email protected]>:
>> Hi Conferno,
>>
>> I agree that this is probably a good rule that we should start adopting.
>> I
>> can think of another serious performance bug that was introduced in the
>> past
>> due to inadvertently making a copy of an object.  I cringe at the thought
>> of
>> sweeping through the entire code base and adding that macro to every
>> class.
>> Maybe we can start with some of the big ones (RangeServer, Range,
>> AccessGroup, CellStore, etc.) and then slowly introduce it to other
>> classes
>> over time.  I just filed issue 434 (
>> http://code.google.com/p/hypertable/issues/detail?id=434) for this one.
>> Thanks.
>>
>> - Doug
>>
>> P.S. I don't particularly believe in the 80 column rule.  With C++, 80
>> columns is inadequate.  It may be a little more doable with C or other
>> terse
>> languages, but with namespaces, nested namespaces, nested classes, etc.
>> 80
>> columns is unreasonably small.  Especially given Google's rule of not
>> allowing the 'using' keyword.  I do try to keep lines under 80 columns,
>> but
>> if the only way to keep the line under 80 columns is to make it look
>> really
>> ugly, then I'll break the rule.
>>
>> On Fri, Apr 2, 2010 at 9:21 PM, conferno <[email protected]> wrote:
>>
>>> Hi
>>>
>>> I have seen that you took something from <a
>>> href="http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml
>>> ">Google
>>> C++ Style Guide</a>:
>>>  two-spaces indentation, 80 char line limit, no spaces inside
>>> parentheses, define guards in headers, using namespaces, ...
>>>
>>> What do you thing to take more rules from that document ?
>>>
>>> They have right ideas, and also automatic checking tools.
>>>
>>> For example <a href="
>>> http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml?showone=Copy_Constructors#Copy_Constructors
>>> ">the
>>> rule about copy constructors</a> could prevent issue 422.
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups
>>> "Hypertable Development" group.
>>> To post to this group, send email to [email protected].
>>> To unsubscribe from this group, send email to
>>> [email protected]<hypertable-dev%[email protected]>
>>> .
>>> For more options, visit this group at
>>> http://groups.google.com/group/hypertable-dev?hl=en.
>>>
>>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Hypertable Development" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>> For more options, visit this group at
>> http://groups.google.com/group/hypertable-dev?hl=en.
>>
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Hypertable Development" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/hypertable-dev?hl=en.

Reply via email to