3 ms·
99% of optimized code I saw in my life is optimized as result of process called "performance decoration": optimizing piece of code based on some (mainly faulty)
by tlogan 14y ago
99% of optimized code I saw in my life is optimized as result of process called "performance decoration": optimizing piece of code based on some (mainly faulty) assumptions without tests and profiling.
I think "performance decoration" is defined as a process in which you make software to look fast but without any positive impact on actual delivered performance (there was an article in ACM a while ago about it).
For example, I saw heavily optimized (and convoluted) C++ loops inside I/O heavy code where just increasing block size and enabling direct IO gives 90% performance boost.
So if there is no "performance lifecycle management" explanation related to optimized code (i.e., which test needs to be run, what is dependency, etc.) then the code is probably just "performance decoration". My theory is: if somebody did investigation to show that this is a valid performance optimization he would probably document all needed tests which led him/her to that conclusion.
- solutionyogi 14y agoI love this term 'Performance Decoration' and I am going to steal it! Perfectly describes some of the code I have seen in my career.
- Rastafarian 14y agoStealing is if you like some term and start using it with a different definition than the author. Like Service Oriented Architecture (I have web services, so it's SOA) or Technological Singularity (e.g. I'll just call the Neolithic and Industrial revolutions singularities).
- tlogan 14y agoThe term was coined by Bart Smaalders in his article “Performance Anti-Patterns”, ACM Queue, Vol. 4, No. 1, February 2006.