Odpovídáte na názor ke článku Správa paměti v C++.
V prve rade velmi pekny blog, bookmark!
Ad GC, vs ne-gc, vs skopove (pun intended) alokace/uvolneni.
Myslim ze idealni je v dnesni dobe (i pro systems programming) opravdu GC, protoze zpravidla zapada do stylu "nevynalezat znova kolo, i za cenu toho ze holt nebude pornokino".
Osobne jsem si zvykl "high" konstrukce ( http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization#Ad-hoc_mechanisms ) a boehmgc i v cistem C, da se s tim jit dost nizko pokud hw neni vylozene spartansky - clovek ma vicemene prehled jak to funguje, takze neprichazi o deterministicke chovani (jako by to snad bylo az na minimum pripadu vubec potreba :).
Nevynucene GC co do produktivity v low jazycich na moji strane jednoznacne vitezi.
O rezii se vubec da rozsahle polemizovat - je lepsi nejaky slusny generacni mark & sweep, nebo refcounting pri predavani reference kazde shared blbinky, jakozto obcas v C++ templaty "vynucena" forma gc? Zalezi jak je program koncipovan.
Je-li to spis C-like monolit, tak refcounting je asi jasna volba (gamesky, linux kernel), s tim ze pooling/gc implementujem kde to smysl ma (linux kernel ma samozrejme GC v *mnoha* subsystemech).
Pokud to je pouze "komplexni bussiness logika", aka interakce mezi bazilionem objektu ktere se vsude mozne predavaj, refcounting spis generuje prusery - napriklad v Pythonu je refcounting udajne proto aby byl gc "deterministicky". Ok, napisu, odladim v techto podminkach a je fajn ze se mi spojeni do db zavre presne ve chvili kdy se ztrati posledni reference, teda az do ty chvile nez se nekde vytvori refcount cykl mrtvych objektu a musi se cekat na M&S. Oops.
Python to takto dela proto ze lidi proste maji tendence pouzivat M&S na uvolnovani ne-pameti, nedejboze volani destruktoru....
Nech je proklet ten co pouziva GC na uvolnovani cehokoliv jineho nez pameti, nebo se spoleha na deterministicke destruktory. Bohuzel to plati i pro vetsinu "high" veci jako Java, useknout ruce :( Vetsinou to funguje bez problemu, nez se objevi nejaka takovato zprasena ohyzdnost, nicmene GC je v tom nevinne, pouze jeho mizerne uziti v mistech kde vubec nema co delat.
Autor se zabývá vývojem kompilátorů a knihoven pro objektově-orientované programovací jazyky.
Přečteno 36 203×
Přečteno 25 362×
Přečteno 23 796×
Přečteno 20 178×
Přečteno 17 875×