Cik ilgs ir vispārējās lietojumprogrammas pārtraukšanas process garbage collection laikā?
sobes.tech AI
Atbilde no AI
Go (Golang) valodā atkritumu savākšana tiek īstenota ar minimālām pārtraukumiem lietojumprogrammai. Mūsdienu GC Go ir trīs fāžu, konkurētspējīgs savācējs, kas cenšas samazināt pārtraukuma laiku (stop-the-world) līdz minimumam.
Tipiska pārtraukuma laiks GC Go parasti tiek mērīts mikrosekundēs vai zemās milisekundēs, bieži mazāk nekā 1 milisekunde, atkarībā no piešķirtās atmiņas apjoma un slodzes. Tas tiek panākts tāpēc, ka lielākā daļa atkritumu savākšanas darba tiek veikta paralēli ar lietojumprogrammas izpildi, un pārtraukumi ir nepieciešami tikai īsām sinhronizācijām.
Tādējādi, visa lietojumprogrammas pārtraukuma laiks GC laikā ir ļoti īss — parasti no dažiem simtiem mikrosekunžu līdz dažām milisekundēm, kas praktiski ir nemanāmi lietotājam.