Názor ke článku Asynchroní parsování JSONu v C++20 od Ondřej Novák - K tomu je potřeba dodat, že simdjson je...

  • 7. 5. 2024 11:45

    Ondřej Novák

    K tomu je potřeba dodat, že simdjson je trošičku FAKE. On je totiž schopen rychle zpracovat i nevalidní JSON a vůbec mu to nevadí. Totiž problém je, že simdjson ten JSON vlastně ani nečte, on si jen označí logické začátky a konce a chápu, tohle se dá dělat SIMD. Skutečný parsing probíhá až při čtení dat. Otázkou je, jak ten benchmark měří.

    Jako já mohu měřit načtení JSONU i takto


    auto zacatek = std::chrono::sys­tem_clock::now();
    bool nacteno=true
    auto konec = std::chrono::sys­tem_clock::now();

    Jsem ultra rychlej. Protože jsem parsing deferroval mimo měření.

    Jinak co si hraju s optimalizacemi, tak zatím nic moc nepomáhá, i třeba validace řetězce čtená přímo z cache celou věc nějak extrémě neurychlí. Samozřejmě, pokud přeskočím validaci, tak se to urychlí