18 chrono::time_point<chrono::high_resolution_clock> start = chrono::high_resolution_clock::now();
20 chrono::time_point<chrono::high_resolution_clock> end = chrono::high_resolution_clock::now();
21 chrono::duration<double> dur = end - start;
22 double rate = ss.str().size() / dur.count() / 1024 / 1024;
23 cout << ss.str().size() <<
" bytes at " << rate <<
" MB/s encode" << endl;
25 MPI_Send(ss.str().data(), ss.str().size(), MPI_BYTE, 1, 0, MPI_COMM_WORLD);
31 boost::archive::binary_oarchive oa(ss);
32 chrono::time_point<chrono::high_resolution_clock> start = chrono::high_resolution_clock::now();
34 chrono::time_point<chrono::high_resolution_clock> end = chrono::high_resolution_clock::now();
35 chrono::duration<double> dur = end - start;
36 double rate = ss.str().size() / dur.count() / 1024 / 1024;
37 cout << ss.str().size() <<
" bytes at " << rate <<
" MB/s encode (boost)" << endl;
39 MPI_Send(ss.str().data(), ss.str().size(), MPI_BYTE, 1, 1, MPI_COMM_WORLD);
47 MPI_Probe(0, 0, MPI_COMM_WORLD, &status);
48 MPI_Get_count(&status, MPI_BYTE, &count);
52 MPI_Recv((
void *)s.data(), count, MPI_BYTE, 0, 0, MPI_COMM_WORLD, &status);
58 chrono::time_point<chrono::high_resolution_clock> start = chrono::high_resolution_clock::now();
60 chrono::time_point<chrono::high_resolution_clock> end = chrono::high_resolution_clock::now();
61 chrono::duration<double> dur = end - start;
62 auto rate = count / dur.count() / 1024 / 1024;
63 cout << rate <<
" MB/s decode" << endl;
73 MPI_Probe(0, 1, MPI_COMM_WORLD, &status);
74 MPI_Get_count(&status, MPI_BYTE, &count);
78 MPI_Recv((
void *)s.data(), count, MPI_BYTE, 0, 1, MPI_COMM_WORLD, &status);
82 boost::archive::binary_iarchive oa(iss);
85 chrono::time_point<chrono::high_resolution_clock> start = chrono::high_resolution_clock::now();
87 chrono::time_point<chrono::high_resolution_clock> end = chrono::high_resolution_clock::now();
88 chrono::duration<double> dur = end - start;
89 auto rate = count / dur.count() / 1024 / 1024;
90 cout << rate <<
" MB/s decode (boost)" << endl;
95int main(
int argc,
char* argv[])
98 MPI_Init(&argc, &argv);
99 MPI_Comm_size(MPI_COMM_WORLD,&
nprocs);
100 MPI_Comm_rank(MPI_COMM_WORLD,&myrank);
102 vector<set<int>> myVector;
104 myVector.emplace_back(set<int>{i,i,i,i,i,i});
108 cout <<
"Testing " <<
"std::vector<std::set<int>>" <<
" size: " << myVector.size() << endl;
111 }
else if (myrank == 1) {
114 cout <<
"Test passed" << endl;