Sobes.tech
Junior — Middle

Ile czasu zajmuje proces pauzy całej aplikacji podczas zbierania śmieci?

sobes.tech AI

Odpowiedź od AI

W Go (Golang) zbieranie śmieci jest realizowane z minimalnymi przerwami dla aplikacji. Nowoczesny GC w Go to trzyfazowy, konkurencyjny zbieracz, który stara się zminimalizować czas przerwy (stop-the-world).

Typowy czas przerwy w GC w Go jest zwykle mierzony w mikrosekundach lub niskich milisekundach, często mniej niż 1 milisekunda, w zależności od ilości przydzielonej pamięci i obciążenia. Osiąga się to dzięki temu, że większość pracy związanej z zbieraniem śmieci wykonywana jest równolegle z działaniem aplikacji, a przerwy są potrzebne tylko do krótkotrwałej synchronizacji.

W związku z tym, czas przerwy całej aplikacji podczas GC w Go jest bardzo krótki — zwykle od kilku setek mikrosekund do kilku milisekund, co jest praktycznie niezauważalne dla użytkownika.