Add FlatBuffers & MessagePack examples

- Add FlatBuffers serialization example to Tutorial 3
 - Add MessagePack serialization example to Tutorial 3
 - Performance improvements in Boost serialization example
 - Use `GetEntriesFast()` for FairTestDetectorRecoTask
 - Use `Clear()` instead of `Delete()` in MQ parts of Tutorial 3
 - Fix CMake variables from preventing compilation without nanomsg.
 - create macro/data directories in install directory
 - Get rid of data duplication in fill_parameters.C
 - Various cleanups and fixes
This commit is contained in:
Alexey Rybalchenko
2015-12-04 15:18:46 +01:00
committed by Mohammad Al-Turany
parent f1abb9ecdd
commit 82ab7670a9
7 changed files with 81 additions and 65 deletions

View File

@@ -29,17 +29,17 @@ FairMQMerger::~FairMQMerger()
void FairMQMerger::Run()
{
std::unique_ptr<FairMQPoller> poller(fTransportFactory->CreatePoller(fChannels.at("data-in")));
// store the channel references to avoid traversing the map on every loop iteration
auto& dataInChannelRef = fChannels.at("data-in");
const FairMQChannel& dataOutChannel = fChannels.at("data-out").at(0);
std::vector<FairMQChannel*> dataInChannels(fChannels.at("data-in").size());
for (unsigned int i = 0; i < fChannels.at("data-in").size(); ++i)
int numInputs = dataInChannelRef.size();
std::vector<FairMQChannel*> dataInChannels(numInputs);
for (int i = 0; i < numInputs; ++i)
{
dataInChannels.at(i) = &(fChannels.at("data-in").at(i));
dataInChannels.at(i) = &(dataInChannelRef.at(i));
}
int numInputs = fChannels.at("data-in").size();
std::unique_ptr<FairMQPoller> poller(fTransportFactory->CreatePoller(dataInChannelRef));
while (CheckCurrentState(RUNNING))
{