( gee | 2014. 04. 24., cs – 18:25 )

Én azt tanultam, hogy premature optimization is the root of all evil.

Szerintem egy olyan kódot, amit várhatóan 1-nél többen fognak olvasni / használni, olvashatóra és karbantarthatóra kell megírni.

Goto nélkül, strukturáltan, kommentekkel.

Ha kész, jól működik, és kiderül, hogy lassan fut a fordító által elkövetett optimalizációk ellenére is, akkor meg lehet nézni, hogy mi miatt.

Ha azt találnám, hogy egy szép és jól olvasható kód kézzel csúnyává szétfaragása jelentősen gyorsítana egy tényleg időkritikus részt, lehet, hogy széttúrnám. Nem biztos. Feladattól és követelményektől függ.
De biztos nem túrnám szét, ha bármiféle biztonsággal vagy titkosítással kapcsolatos feladata lenne a kódnak.

Ránézésre ez a lib (akármiSSL) nem végez olyan feladatokat, amik időkritikusak, szerintem semmiféle kézi csúnyává optimalizálásra nem lehet mentség.

Egyébként, amikor még programozóként dolgoztam, voltak olyan feladatok, amiket jelentősen gyorsítani kellett ezért sokat vizsgálgattuk profilerrel a futást. Nem emlékszem egy esetre sem, amikor egy segédváltozó létrehozása okozott volna akkora overhead-et, hogy azt kellett volna valahogy kioptimalizálni kézzel.
Vagy azért, mert a fordító már úgyis kioptimalizálta magától, vagy azért, mert az overhead pici volt a valóban lassító tervezési hibák mellett.