Hlavní navigace

Odpověď na názor

Odpovídáte na názor ke článku Knihovna libcoro - korutiny pro C++20 (revize).

  • 28. 3. 2024 12:24

    Ondřej Novák

    Korutina je heap. Ale jen jedna alokace na celou korutinu.

    Callback je alokace, jedna alokace na každý callback. - mimochodem coro::function ktera se tam používa alokuje až když callback má víc než 24 bajtů (3x pointer), jinak se obejde bez alokace.

    Jakmile by ten objekt alokoval jako callback, pak by to postrádalo smysl, protože by použití korutin nepřinášelo žádnou výhodu, snad kromě čitelnějšího kódu za cenu horší performance.

    Tady je možnost právě umístit sdílená místa do frame korutiny, který je jedenkrát předalokované, ale já mohu v korutine mít cyklus a milionkrát vytvořit a zahodit future.

    A v tom je celý point.