On Sun, 11 Dec 2022, Bakul Shah wrote: > Agree that clear code is preferable to complicated code. But in practice > people sacrifice clarity for performance improvement all the time. Look > at the kernel code of any modern os. Everybody pays lip service to this > but most anything other than toy programs ends up getting needlessly > complicated over time. As an example, building "Unix as a service" as > user processes on top of a small microkernel could provide the same > functionality using much clearer and much less code but it would be > slower so we don't do it. Plan9 sort of went in that direction and it > is much simpler (but that could also be because it is not hacked on so > much). > > I do prefer clever/smart design to locally clever/smart code. For example, > using Schönhage-Strassen algorithm for multiplying very large numbers. > Or transforming a problem to use a much more efficient data structure > or making equivalent transforms which may be more efficient to compute. > Such code may not be immediately clear but with proper documentation > it is not difficult + you can solve much larger problems. But agreed > these come up much less often. My attitude is: if I'm doing an ugly on nonobvious hack, I'll drop a comment saying what it does. Most recently I wrote code that set a "magic flag" - and the comment explained why the flag was set (so that it would be immediately altered, forcing a redraw). -uso.