Odpovídáte na názor ke článku Optimalizace async. parseru JSON v C++20.
Pokud myslíš parser, který ti volá callbacky s každým přijatým blokem dat, tak to se přece nevylučuje. První čtení si nastaví strea, a pak kdykoliv mi přijde callback s daty, tak buffer předám awaiteru a zavolám resume, provede se parsování toho bloku a na konci ho hodím zpět do suspend a vrátím se s callbacku a čekám na další callback. Jakmile se načte všechno, korutina ohlásí konec. Jako tohle řešení nepředepisuje, co se má použít jako zdroj dat. Může se použít i zero copy buffer, protože jediné co se vyžaduje je std::string_view. Kopírování dat nikde nedochází, pokud tedy nemyslíš kopírování znaků v řetězcích do datových struktur k tomu určených.
Intenzivně se zabývám programováním zejména v jazyce C++. Vyvíjím vlastní knihovny, vzory, techniky, používám šablony, to vše proto, aby se mi usnadnil život při návrhu aplikací. Pracoval jsem jako programátor ve společnosti Seznam.cz. Nyní jsem se usadil v jednom startupu, kde vyvíjím serverové komponenty a informační systémy v C++
Přečteno 50 233×
Přečteno 23 535×
Přečteno 22 525×
Přečteno 20 434×
Přečteno 17 495×