( hajbazer | 2019. 04. 20., szo – 09:41 )

Mi az, hogy destruálva? :D

Szép magyar szó. :P [1] [2] Bocsánat, ezt valóban lehetett volna szebben írni. Szóval: A belső képnézőért felelős objektumokra lefut a destruktor.

Elméletben lehet, hogy nagyobb "bloat", de a gyakorlat gyönyörűszépen megcáfolja. Az IrfanView, mint külön képnéző (és alapszintű képszerkesztő) jóval gyorsabban indul el, mint bármelyik fájlkezelőbe integrált Qt/Gtk bloat, legyen szó akár a Double Commander, akár a Krusader belső "Lister"-éről. Emellett jóval kevesebb erőforrást zabál, úgy mindenből.

Ha meg nem deallokálódik valamelyik része, akkor szar a szoftver.

Igen. Sőt akkor is szar a szoftver, ha azonos hardveren 3x annyi idő, sokszorta annyi CPU és 3x annyi memória kell betölteni, futtatni. Néha szoktál menőzni a P4-eddel, hogy fut rajta a Windows 10. Alkalomadtán hasonlítsd össze rajta Linux alatt a Double Commander belső képnézőjét, a Krusader belső képnézőjét, majd Windows alatt az IrfanViewt. Meg fogsz lepődni, amikor az egyetemen tanult dogmáid romba dőlnek és a Double Commander belső képnézőjére hosszú másodperceket fogsz várni, az IrfanView pedig azonnal betölt, hiába külön process.

Nálam egy Turion 64-en: Double Commander GTK-s (legfrissebb, 0.9.2, 64-bit) verziójánál betöltés (warm start) ~3 másodperc, a betöltődés pillanatában a memóriafogyasztás 53 MB. Total Commander (legfrissebb, 9.22, 64-bit) ~1 másodperc alatt tölt be, induló memóriafogyasztása 16 MB. Tehát, képnéző nélkül is több, mint 3x annyi memóriát zabál. Cserébe már az is kiakaszt 100%-on egy magot, hogy a fájllistán nyomkodom föl-le a kurzort. Ha folyamatosan megnyomok egy kurzornyilat, ott meg már a lassulgatás is látszik. Az IrfanView (4.52, 64-bit) egy Full HD JPEG képre felvesz 14 MB memóriát összesen. Ugyanazon képnél a Double Commander belső képnézőjével nézve az egész kóceráj memóriafogyasztása 64 MB memóriára rúg, tehát +11 MB. Szóval megintcsak az van, hogy kontextusból kiragadott, elméleti dogmákra alapozva még igazad is lenne (hiszen a +11 MB < +14MB), viszont ha mindent figyelembe veszel, akkor még mindig ott tartunk, hogy TC + IrfanView = 30 MB, DC + belső képnéző = 64 MB. A Total Commander belső képnézője pedig nagyjából ugyanennyit eszik, 16-ról 27 MB-ra ugrik fel a memóriahasználat a kép megnyitásakor. Ha bezárom, akkor 17 MB-ra esik vissza. Ha 10x megcsinálom ugyanezt, akkor is 17 MB-ra esik vissza. A DC belső képnézőjét bezárva, a memória továbbra is 64 MB. Szóval benntartja a memóriában, cserébe sokkal lassabban nyitja meg, mint a TC Listere, vagy az IrfanView. Gratulálok!

Nem feltétlenül azzal vitatkozom, amit leírtál, hanem azt állítom, hogy minél erőforráshatékonyabb egy szoftver, annál kevésbé számítanak az effektív sebességnél a a standard libeket betölti többször is, azok inicializálódnak újra, minden program igényli a maga kis privát terét, mert a működéséhez szükséges féle szabályok.