Իմացեք, թե որքան ժամանակ է պահանջվում ամբողջ հավելվածի դադարեցման գործընթացը աղբի հավաքման ժամանակ:
sobes.tech AI
Պատասխան AI-ից
Go (Golang) լեզվում աղբի հավաքումը իրականացվում է նվազագույն ընդհատումներով ծրագրի համար: Ժամանակակից GC-ը՝ երեք փուլով, մրցակցային հավաքիչը, փորձում է նվազեցնել ընդհատումների ժամանակը (stop-the-world) նվազագույնի:
Go-ի GC-ում սովորական ընդհատման ժամանակը սովորաբար չափվում է միկրոսեկունդներով կամ ցածր միլիսեկունդներով, հաճախ՝ պակաս քան 1 միլիսեկունդ, կախված տրամադրված հիշողության ծավալից և բեռից: Սա հասնում է այն բանի, որ մեծ մասը աղբի հավաքման աշխատանքը կատարվում է համաժամանակյա կերպով ծրագրի գործարկման հետ, և ընդհատումները անհրաժեշտ են միայն կարճ ժամանակով սինխրոնիզացիաների համար:
Այսպիսով, ամբողջ ծրագրի ընդհատման ժամանակը GC-ի ժամանակ շատ կարճ է՝ սովորաբար մի քանի հարյուր միկրոսեկունդից մինչև մի քանի միլիսեկունդ, ինչը գրեթե աննկատ է օգտվողի համար։