$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-users] [Serialization] Speedding up client-server communication
From: Ruediger Berlich (ruediger.berlich_at_[hidden])
Date: 2010-02-04 19:22:17
Hi there,
I am in the process of speeding up communication between a server and its 
clients. Communication involves serialized class data. Messages can be as 
large as 100 kilobytes.
I have done some measurements which have shown that, in a cluster with 
Gigabit networking, most overhead of the parallelisation seems to come from 
the Broker infrastructure and the process of (de-)serialization. Network 
latency and/or bandwidth seems to play only a minor role in this 
environment.
Hence, apart from optimizing my broker, I'm looking for ways to optimize the 
serialization process, as used in my application. As messages are discarded 
as soon as they reach the recipient, versions of serialized data do not play 
an important role.
Apart from decreasing the frequency and size of data exchanges and using 
binary transfers in a homogeneous environment, another way of speeding up 
the application seems to be the "Class Information" section discussed e.g. 
in http://www.boost.org/doc/libs/1_41_0/libs/serialization/doc/special.html 
.
Also, BOOST_IS_BITWISE_SERIALIZABLE(my_class) might help. One question I 
have about this is whether a std::vector<POD> would be accessible to this 
optimization ? I use quite a few of them.
Do you have further suggestions for ways of influencing the 
Boost.Serialization library ?
Thanks and Best Regards,
Ruediger