Ticket #6549: test2_boost.cpp

File test2_boost.cpp, 813 bytes (added by Josh Davidson <josh.davidson@…>, 11 years ago)

Boost (2 of 2)

Line 
1#include <boost/interprocess/sync/named_semaphore.hpp>
2using namespace boost::interprocess;
3
4#include <boost/date_time/posix_time/posix_time.hpp>
5using namespace boost::posix_time;
6#include <iostream>
7using namespace std;
8
9
10int main() {
11
12 const size_t iterations = 100000;
13 named_semaphore sem1(open_only_t(), "sem1");
14 named_semaphore sem2(open_only_t(), "sem2");
15
16 ptime start = boost::posix_time::microsec_clock::local_time();
17 for(size_t i = 0; i < iterations; ++i) {
18 sem1.post();
19 sem2.wait();
20 }
21
22 ptime end = boost::posix_time::microsec_clock::local_time();
23 time_duration delta = end - start;
24
25 double seconds = double(delta.total_nanoseconds())/1000000000.0;
26
27 cout << "Total elapsed time: " << seconds << endl;;
28 cout << "Time per iteration: " << (seconds/double(iterations)) << endl;
29 return 0;
30}