Boost logo

Boost Users :

Subject: [Boost-users] Performance optimization in Boost using std::vector<>
From: saloo (salmanarshad9_at_[hidden])
Date: 2015-02-11 08:43:45

Hello everybody,

I have a question related to performance optimization using Boost. I found
this link
<> and
trying to figure out which curve (on the graph in the link) represents the
communication of std::vector<int> and std::vector<double>? Is communication
using std::vector<int> and std::vector<double> optimized (is_mpi_datatype)
or not?

So I use "boost_mpi" and "boost_serialization" libraries. I include the
header "#include <boost/serialization/vector.hpp>" in my code. Then I send
directly std::vector<int> and std::vector<double> using "world.send(...) "
and world.recv(...)" calls. I fill the vector with some values (for example
I fill ten values) and I get the same ten values on other side of processor
boundary. This thing works but I want to improve communication performance.
I found out in this link under
section "User-defined data types" that "Fixed data types can be optimized
for transmission using the is_mpi_datatype type trait. ". Also I studied the
information on
Also this link
shows that std::vector<> are optimized for serialization.
 I am now confused that sending std::vector<> like this is good for
performance optimization or not? What other better methods are available? Is
something like this
a good option?
Best Regards,
Salman Arshad

View this message in context:
Sent from the Boost - Users mailing list archive at

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at