Sobes.tech
Junior — Middle

Koliko traje proces pauze cele aplikacije tokom prikupljanja smeća?

sobes.tech АИ

Одговор од АИ

U jeziku Go (Golang), prikupljanje smeća implementirano je s minimalnim pauzama za aplikaciju. Moderni GC u Go je trofazni, konkurentni sakupljač koji nastoji smanjiti vrijeme zaustavljanja (stop-the-world) na minimum.

Tipično vrijeme pauze u GC-u Go obično se mjeri u mikrosekundama ili niskim milisekundama, često manje od 1 milisekunde, ovisno o količini dodijeljene memorije i opterećenju. To se postiže tako što se veći dio posla prikupljanja smeća obavlja paralelno s izvršavanjem aplikacije, a pauze su potrebne samo za kratke sinkronizacije.

Stoga, vrijeme pauze cijele aplikacije tijekom GC-a u Go je vrlo kratko — obično od nekoliko stotina mikrosekundi do nekoliko milisekundi, što je praktički neprimjetno za korisnika.