Hlavní navigace

Názor ke článku JSON pro C++11 s immutabilním DOMem. od Ondřej Novák - Měl jsem verzi, kde jsem měl vlastní alokátory....

  • 12. 1. 2017 20:35

    Ondřej Novák

    Měl jsem verzi, kde jsem měl vlastní alokátory. Měl jsem verzi bez virtuálních metod. Provedl jsem několik měření. Výsledkem bylo, že to mělo absolutně nulový vliv. Záleží samozřejmě na platformě, ale ty rozdíly budou malé. Když nebudu používá virtuální metody, budu tam mít switch/case a z toho pramení... ano bude tam tabulka pro skoky. Co je volání virtuální metody? Tabulka pro skoky... výsledek je ekvivalentní.

    Alokátor tam chystám, ale jak říkám, nikdy jsem neměl v ruce alokátor, který by byl výrazně rychlejší, než standardní new třeba ve MS Windows. Dost mě ta měření kolikrát překvapila. Opravdu bývají standardní alokátory dost rychlé, že se optimalizace nevyplatí.

    Pokud tam bude alokátor, bude nejspíš globální, cokoliv jiného věci jen komplikuje. Mohu demonstrovat, když bude zájem. Mám několik serverů pracující s protokolem JSONRPC, takže tak nějak vím o čem to je :)

    Vždycky člověk bojuje s tím, jestli udržet kód maximálně KISS, maximálně standardní, nebo ho zaplevelit ručními optimalizacemi.

    Děkuji za názor.