The passing of InetAddr by value is intentional.  The InetAddr structure is
so small that we (I) deemed it better from a performance standpoint to pass
by value instead of take the hit of an extra level of indirection introduce
with a reference.

On Sun, Apr 4, 2010 at 11:47 AM, conferno <[email protected]> wrote:

> 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]>
> <hypertable-dev%[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]<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]<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.

Reply via email to