#include <cstdlib>
#include <iostream>
#include <time.h>
using namespace std;
timespec diff(timespec start, timespec end);
/* Profiling code using clock_gettime
* Link with the librt library (-lrt)
*/
int main(int argc, char** argv) {
timespec time1, time2;
int temp;
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &time1);
for (int i = 0; i < 242000000; i++)
temp += temp;
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &time2);
cout << diff(time1, time2).tv_sec << ":" << diff(time1, time2).tv_nsec << endl;
return 0;
}
/**
* Returns a timespec of the difference between 2 timespec
* @param start timespec structure
* @param end timespec structure
* @return timespec structure
*/
timespec diff(const timespec start, const timespec end) {
timespec temp;
if ((end.tv_nsec - start.tv_nsec) < 0) {
temp.tv_sec = end.tv_sec - start.tv_sec - 1;
temp.tv_nsec = 1000000000 + end.tv_nsec - start.tv_nsec;
} else {
temp.tv_sec = end.tv_sec - start.tv_sec;
temp.tv_nsec = end.tv_nsec - start.tv_nsec;
}
return temp;
}
Taken from: http://www.guyrutenberg.com/2007/09/22/profiling-code-using-clock_gettime/
Showing posts with label C. Show all posts
Showing posts with label C. Show all posts
Thursday, January 22, 2015
Thursday, June 10, 2010
POSIX(R) Threads
Reading "Programming with POSIX(R) Threads".
Asynchronous:
Any two operations are “asynchronous” when they can proceed independently of each other.
Amazon wish list
—Lewis Carroll, Through the Looking-Glass
Asynchronous:
Any two operations are “asynchronous” when they can proceed independently of each other.
Amazon wish list
“If seven maids with seven mops
Swept it for half a year,
Do you suppose,” the Walrus said,
“That they could get it clear?”
“I doubt it,” said the Carpenter,
And shed a bitter tear.
—Lewis Carroll, Through the Looking-Glass
- pthread_t thread;
- int pthread_equal (pthread_t t1, pthread_t t2);
- int pthread_create ( pthread_t *thread, const pthread_attr_t *attr, void *( *start) (void *), void *arg);
- pthread_t pthread_self (void);
- int sched_yield ( void);
- int pthread_exit ( void *value_ptr);
- int pthread_detach ( pthread_t thread);
- int pthread_join ( pthread_t thread, void **value_ptr);
Subscribe to:
Posts (Atom)
