Ускорить сериализацию с пустым контейнеромC++

Программы на C++. Форум разработчиков
Ответить
Гость
 Ускорить сериализацию с пустым контейнером

Сообщение Гость »

Я использую сериализацию boost (1.69.0) для создания файла шаблона XML.
К сожалению, результат, которого я хочу достичь, плохой.
Это пример кода:

Код: Выделить всё

struct A
{
struct B
{

int bInt;
bool bBool;

private:
friend class boost::serialization::access;

template < class Archive >
void serialize( Archive& ar, const unsigned int version )
{
ar& BOOST_SERIALIZATION_NVP( bInt );
ar& BOOST_SERIALIZATION_NVP( bBool );

}
};

std::vector< B > aVector;
int aInt;
bool abool;

private:
friend class boost::serialization::access;

template < class Archive >
void serialize( Archive& ar, const unsigned int version )
{
ar& BOOST_SERIALIZATION_NVP( aVector );
ar& BOOST_SERIALIZATION_NVP( aInt );
ar& BOOST_SERIALIZATION_NVP( abool );

}
};
И звоню

Код: Выделить всё

void createXml( const std::filesystem::path& filePath )
{
if (filePath.empty())
{
return;
}

A data;
wofstream wofFile( filePath.c_str() );
boost::archive::xml_woarchive warOutArchive( wofFile );
warOutArchive 

Подробнее здесь: [url]https://stackoverflow.com/questions/78160242/boost-serialization-with-empty-container[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»