This looks related: Adi Oanca <adioanca@xxxxxxxxxxxxxx> wrote: > Please, you have to agree, every time we have a better solution we > must take action. That is the difference between open/free source and > corporate business. (corporate: the code works: OK, DON't change it! > ) > > > 2) Bugfixes and filling in missing bits, not reimplementations of > > significant portions of code. > Yes, you are right. But this is a bug and also a performance issue. > This does not require reimplementation of significant code, just > pass > some messages to Poller thread. > I'm not against reimplementations, at the same time I have to agree > we must finish this project. > > > 3) "Premature optimization is the root of all evil." -- Michael > > Phipps > Never agreed with that statement. Redesign of a certain component > is > always a good thing. I don't want to step on anyone's toes here, but designing first and then implement saves a lot of precious time. The "premature optimization" thing is important IMO: you may spend lots of time optimizing a certain algorithm just to find out later that it has almost no impact on performance in the real thing - even if you are much luckier with that new code, it took you a lot longer to be where you are. Also, optimized code may often introduce subtle bugs and misbehaviour under certain conditions, or just have less features than you'll later need. If you change slow but working code at a later time, you can run the whole test suite against the new code and can almost be sure that'll work. It's usually a lot more expensive to detect these kind of bugs during development. That doesn't meant that you shouldn't optimize *anything* upfront (ie. you don't have to use bubble sort everywhere), but that you should choose your battles carefully - of course, it doesn't hurt if you use the right algorithm from the start. Of course, we have less time pressure on an open source project. But that doesn't mean we should use this time to implement everything 5 times - we should take us more time to design a component. Errors in design may still happen, and it's okay to rewrite a certain component, but it should only happen very rarely. Bye, Axel.