The shared memory has now a serialize and a deserialize methods, which allows to store arbitrary instances into the shared memory. Cereal is used in the background.
There is a Serializer object which allows to serialize / deserialize object (without writing them in the shared memory) to encapsulate calls to Cereal.
the exchange_manager_consumer and exchange_manager_producer have been updated to use this serialization (was previously casting instances to array of doubles)
Tests
Unit tests added
Demos
serialization.cpp added
Benchmark
serialization_frequency.cpp added.
Not really a benchmark, just check how fast serialization is.
What is new
The shared memory has now a serialize and a deserialize methods, which allows to store arbitrary instances into the shared memory. Cereal is used in the background.
There is a Serializer object which allows to serialize / deserialize object (without writing them in the shared memory) to encapsulate calls to Cereal.
the exchange_manager_consumer and exchange_manager_producer have been updated to use this serialization (was previously casting instances to array of doubles)
Tests
Unit tests added
Demos
serialization.cpp added
Benchmark
serialization_frequency.cpp added. Not really a benchmark, just check how fast serialization is.