( SzBlackY | 2017. 03. 09., cs – 11:01 )

Szerintem ne idealistáskodjunk itt ARM-mal, meg C#-pal.

Oké, ne idealistáskodjunk.

Itt arról van szó, hogy magadnak megspóroltál mondjuk 1 hónapnyi plusz munkát az optimalizációval, ami 160 munkaóra.

Azért marhára nem. Megspóroltam több ezer munkaórát, mert egy szabványos, modern eszközkészletet használtam. Mondhatnám azt, hogy oks, legyen igazad, nekünk a natív kód és a C++ kell, akkor ahhoz, hogy ugyanilyen sebességgel tudj legalább ugyanennyire hordozható kódot írni, vagy fogsz egy Qt-t vagy hasonló rendszert, ami miatt nem kell foglalkoznod a platformok közti különbségekkel, vagy minden platformot külön támogatsz (és írsz gyakorlatilag egy libet csak arra, hogy ne kelljen foglalkoznod a platformok közti különbségekkel). És lentebb már említetted, hogy a Qt is bloat...

Cserébe (pont mivel egy magasszintű, kifejzetten alkalmazásfejlesztésre szánt nyelvet használok), egy olyan feature, ami mondjuk napi 20 perccel rövidíti az átlagos felhasználó munkáját, töredék idő alatt lefelejszthető. Még csak nagy dolgokra sem kell gondolnod: tfh., az alkalmazásod (csak itthon használják) kényelmi funkcióként be akarod tenni, hogy ha a címből megadták az irányítószámot, akkor az alapján töltse ki a megyét és a várost.
Ezt a feature-t legfeljebb 100 sorból le lehet kódolni. Igen, meg fog nőni a telepítő, mert mellé kell rajni a néhány megás irányítószám adatbázist. Igen, meg fog nőni a memóriahasználat, mert amíg nem lesz kimutatható bottleneck, addig induláskor beolvasom az egész táblát és a memóriában tartom.
Melyik volt a felhasználónak hasznosabb? Az, hogy ezt a három órát azzal töltöttem, hogy egy másik kódot optimalizáltam, amivel mondjuk 20%-al gyorsabban fut egy másik task, vagy az, hogy kapott egy feature-t, ami napi ~5%-al csökkentette a munkaterhelését? Nem tudod megmondani, mert nem tudod, hogy a másik milyen gyakran fut. Ha évente egyszer, akkor még ha az a 20% egy órát is jelent, a user még akkor is jobban járt.

Azt kéne megérdened, hogy nincs olyan, hogy "optimális". Mert ha valami optimális valamilyen szempontból, az nem lesz az valamelyik másikból. 20% gyorsabb ugyanaz a program ugyanazon a HW-n? Akkor lehet 50%-al drágább, mert másfélszer annyi idő kellett a fejlesztéséhez. 25%-al kevesebb sávszélességet használ, mert tömörítve vannak az adatok? A CPU használat mindkét oldalon megnőtt a tömörítés miatt... és a többi.

BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)