Názor k článku Základní optimalizace v Go aneb pomáháme překladači (2) od prochac - Append primárně přidává prvek do slice. Nové pole...

  • Článek je starý, nové názory již nelze přidávat.
  • 14. 12. 2022 21:57

    prochac

    Append primárně přidává prvek do slice. Nové pole alokuje az kdyz je to soucasné nedostatečné. Dělá to klasickým algoritmem, že se prealokuje dvojnásobné pole, a zkopíruje obsah predchozího.
    To, že append nevytváří pokaždé nové pole je hezky využitelné.
    Třeba když dělam filter na slice, a vím, že ten výskyt prvku, který budu odebírat, je minimální, tak prealokuji slice s plnou kapacitou, ale nulovou délkou.
    https://go.dev/play/p/dYAOoZ6rMxJ