On Mon, Jul 11, 2011 at 9:33 AM, Mike Hearn wrote: > > My overall suggestion is to begin a complete rewrite, inspired by the old > > code rather than moving a lot of "known to be somehow functional" around. > > This essay is old but still relevant, I think: > > http://www.joelonsoftware.com/articles/fog0000000069.html > +1 More code documentation would be helpful, and so would making the interfaces more understandable/readable, and getting rid of the manual locking (especially in client code!), but I don't see how that would warrant a complete rewrite. Some refactoring would be much safer than trying to reproduce every nook and cranny in a rewrite. re:4) I also don't see why boost would be a 'nonstandard dependency'. From what I understand, a large part of the new C++0x standard is derived from boost. Also C++ compilers are getting faster and more smart all the time, so I absolutely don't see "build speed" as a goal. re:6) I've already submitted a few pull requests that replace hardcoded magic values with constants. Moving the constants to a config file is not needed IMO because the end-user doesn't need to change them. JS