184.108.40.206 08:33, 8 June 2016 (UTC) Yay! First time starting a page's explanation! (Actually second time, but first time I didn't save it in time.) Also, first comment!
The flow chart has no branches. It has been optimized, by pruning branches which cannot apply. Are you consulting a flow chart cannot be answered no while consulting the flow chart, so the entire branch structure resulting from a no answer has been eliminated. However, there are many other ways in which premature optimization can take place, and there are some optimizations which are not premature, so this is a robust and fruit laden branch. Since it would be handy to keep that branch in mind, its removal is clearly premature. Therefore, this flowchart has been prematurely optimized.220.127.116.11 11:02, 8 June 2016 (UTC)
- I guess that as soon as you are spending time on a flow chart on this question you are not using your time to do things right...--Kynde (talk) 11:11, 8 June 2016 (UTC)
- I agree: It's not "if there is any doubt": It's specifically the flowchart. If you are consulting flowchart, you are either the kind of person who does everything methodically and waste gigantic amount of time by it, especially if trying to optimize, or you lack the experience and common sense needed to distinguish when the optimization is premature, and statistically are more likely to optimize incorrect part of code. But note the that most people, when citing the quote, forgot the "Yet we should not pass up our opportunities in that critical 3%." - and result is editor which have noticeable lag on computer which is capable of running 3D FPS game in 120fps. Worse: some decisions, while related to speed of program and therefore optimization, MUST be done early in planing - for example, what data structures will be used. If you start programming with linear list, it may be impossible to switch to B-tree later ; on the other hand, programming B-tree and then finding out the average length of list is 5 is typical premature optimization ; Therefore, you should either use existing library, which will be quick AND quickly written, or spend some time on writing abstract enough interface, so you don't waste too much time on the B-tree but will have option to put it there later without major refactoring. -- Hkmaly (talk) 16:25, 20 June 2016 (UTC)