Sobes.tech
Junior — Middle

Ar padarėte pakeitimų kode, kad pagerintumėte programos našumą?

sobes.tech AI

Atsakymas iš AI

Taip, aš padariau pakeitimus kode, siekdamas pagerinti našumą. Paprastai tai apima:

  • Algoritmų optimizavimą (pavyzdžiui, įdėtinių ciklų pakeitimą efektyvesnėmis duomenų struktūromis).
  • Naudojimą talpykloje, kad sumažintume pasikartojančius skaičiavimus.
  • Užduočių paralelizavimą naudojant gorutinas ar kitus mechanizmus.
  • Atminties paskirstymų mažinimą, kad sumažintume šiukšlių surinkėjo apkrovą.

Pavyzdžiui, jei programoje buvo lėtas paieškos procesas masyve, aš jį pakeičiau naudojant žemėlapį (map) greitam prieigos būdu pagal raktą.

// Anksčiau
func contains(slice []int, val int) bool {
    for _, v := range slice {
        if v == val {
            return true
        }
    }
    return false
}

// Dabar
func containsMap(m map[int]struct{}, val int) bool {
    _, exists := m[val]
    return exists
}

Šis požiūris žymiai pagreitina paiešką dideliuose duomenų kiekiuose.