Sobes.tech
Junior — Middle

Zašto je izvršavanje zadataka u goroutine obično brže u poređenju sa korišćenjem niti operativnog sistema?

sobes.tech АИ

Одговор од АИ

Gorutine u Go obično rade brže od niti operativnog sistema, iz više razloga:

  1. Lagana težina: Gorutine zauzimaju mnogo manje memorije (obično nekoliko kilobajta steka), dok sistemske niti zahtevaju mnogo više resursa.

  2. Planer Go: Ugrađeni planer efikasno raspoređuje njihovo izvršavanje na sistemske niti, omogućavajući pokretanje hiljada gorutina istovremeno bez značajnih troškova.

  3. Brzo kreiranje i prebacivanje konteksta: Kreiranje i prebacivanje između gorutina je mnogo brže nego između niti OS, jer se to upravlja na nivou jezika i ne zahteva prelazak u kernel.

  4. Manje sistemskih poziva: Planer Go minimizira broj sistemskih poziva, čime se smanjuju troškovi.

Primer:

func() {
    // kod koji se izvršava u gorutini
}()

Stoga, gorutine obezbeđuju visoku konkurentnost i performanse uz manje troškove resursa u poređenju sa niti operativnog sistema.