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.
