Я провел сравнение производительности нескольких протоколов сериализации, включая FlatBuffers, Cap'n Proto, Boost serialization и зерновые. Все тесты написаны на С++.
Я знаю, что FlatBuffers и Cap'n Proto используют нуль-копию. При нулевом копировании время сериализации равно нулю, но размер сериализованных объектов больше.
Я думал, что сериализация зерновых и Boost не использует нулевую копию. Однако время сериализации (для int и double) почти равно нулю, а размер сериализованных объектов почти такой же, как у Cap'n Proto или Flatbuffers. Я не нашел никакой информации о нулевой копии в своих документах.
Нужно ли использовать сериализацию зерновых и Boost с нулевой копией?