#include #include #include #include #include #include #include #include using namespace std; using namespace boost::archive; BOOST_CLASS_TRACKING(list, track_never) BOOST_CLASS_TRACKING(deque, track_never) int main() { list lst; deque dq; for (int j = 1; j <= 20000; ++j) { lst.push_back(j*3); dq.push_back(j*2); } filebuf fb; fb.open("two_out", ios_base::out); binary_oarchive oa(fb); //cout << "bufSize is " << fb.epptr() - fb.pbase() << endl; timeval before_tv, after_tv; struct timezone tz; gettimeofday(&before_tv, &tz); oa << lst << dq; gettimeofday(&after_tv, &tz); if (before_tv.tv_sec != after_tv.tv_sec) { after_tv.tv_usec += 1000000; } long diff = after_tv.tv_usec - before_tv.tv_usec; cout << "That took (microseconds) " << diff << endl; return 1; }