( uid_6201 | 2022. 09. 29., cs – 22:47 )

Egy alaposabb háttérolvasmányt ajánlok figyelmetekbe a memóriakezelés lehetőségeiről: https://www.toptal.com/software/eliminating-garbage-collector
Rust GC folyamat futtatása nélkül tudja azt a biztonságos memóriakezelést nyújtani, amit az eddigi programozási nyelvek kizárólag az időnként lefutó GC folyamattal tudtak megvalósítani, GC nélkül pedig eddig sehogy. A GC folyamat pedig sok esetben igen hátrányos, kényszerből kellett eddig futnia. Például legegyszerűbb belátni realtime rendszereknél, ahol ha a GC folyamat véletlenszerűen futni kezd, akkor a kiszolgálási időt nem tudja a rendszer a definiált határértéken belül tartani.

Ezen kívül sok más dolgot szintén az alapjaitól gondoltak újra, ahol a cél a biztonságosság és a hatékonyság volt. Hátrány: egy rutinos C++ vagy Java programozónak sem könnyű átszoknia rá, az ownership és következménye kapásból sokakat megakaszt. Ez tehát nem olyan váltás, mint a Java --> C#.
Másik hátrány: alapból például a memóriahozzáférést teljeskörűen ellenőrizné futásidőben (= biztonság), kivéve amit igazol a fordítási időben hogy tuti nem lehet gond. Tehát ilyen esetben nem kell futásidejű határellenőrzéssel lassítani a lefordított kód futását, ellenkező esetben viszont mindig. Az ezen való elszöszölés igencsak elnyújtja a fordítási időt.
Végeredmény: memóriahozzáférési hibáktól mentes és gyors, sőt random GC folyamatfutástól is mentes assembly kód.