( saxus | 2022. 03. 07., h – 01:50 )

Engem meg épp az szokott zavarni, hogy minek van indexem, hogy ha egyszer nincs mit indexelni? Főleg, ha mondjuk nem egy tömböm van, hanem láncolt listán? Nem indexet akarok kezelni, hanem a gyűjtemény elemeivel dolgozni.

Egyébként a pazarlásról: anno olvastam egy nagyon kiváló cikket "mire optimalizáljunk?" címen. Ha jól emlékszem, a feladat egy tömb elemeinek szummázása volt, talán némi csavarral, csóka megírta többféleképp is, kezdve C-s fortól, C# foreach, linq, sum, stb.-ig, megnézve a generált ASM kódot is. Legmókásabb az volt, hogy a for-ra sikerült messze ráverni valamelyik felállásban, szimplán azért, mert volt más megoldás, ami a prefetchinget figyelembe véve gyorsabb kódot generált. Vagy egyes esetekben, mikor megpróbált optimalizálni a kódon, nem hogy javult, de romlott a teljesítmény. Mégpedig azért, mert a "frissen végzett egyetemista" kódot felismerte a fordító, arra ki volt optimalizálva, az "okos" kódra viszont nem, emiatt butább asm kódot generált.

Szóval ennyit ér az, hogy ha magad akarsz kezelni mindent: false sense of control.

Egyébként ha már ennyire szóba hozod a pazarlást: az egyetlen létező erőforrás, amit te eddig említettél az a hardver. Igen, megértem, hogy mikrokontrollernél ez fontos. Megjegyzem, nem csak ott, csak más súllyal. Mi pl. logisztikai optimalizáción dolgozunk. Nálunk kb. a legszűkebb erőforrás a fejlesztők száma és azok ideje. Munka van dögivel, fejlesztendő featurek sorban állnak. Viszont ezek a featurek a vevőinknek éves szinten több millió euróban mérhető üzemanyag-költség megtakarítást jelentenek vagy azt, hogy 5-10-15%-al kisebb flotta is elég a fuvarok elszállításához a jobb kihasználtság miatt. Tedd kérlek mérlegre azzal, hogy spórolnánk mondjuk éves szinten 1-2 ezer eurót valamelyik cloud providernél. Különösen ajánlom végiggondolásra, hogy a szállítmányozás mekkora részt foglal el a gazdaságban és milyen hatása van a környezetre is.

Néha egy kicsit érdemes kihúzni az ember fejét az assembly kódból is kicsit a kontextust is nézni, hogy hol, mikor milyen környezetben van használva az ember munkája.

(Btw. ha valakinek megvan a link a cikkre, akár internet archiveből, légyszi linkelje, évek óta keresem, de szerintem konkrétan a domain is megszűnt már. Valamilyen Zoltán volt azt hiszem a szerző, alapvetően C#-os témákkal foglalkozott.)