pid_t pid;
switch (pid = fork()) {
case 0:
exit(EXIT_SUCCESS);
case -1:
perror("fork() error:");
exit(EXIT_FAILURE);
default:
assert(wait(NULL) == pid);
}
pthread_t tid;
int e;
if ((e = pthread_create(&tid, NULL, f, NULL))) {
printf("pthread_create() failed with %d.\n", e);
return EXIT_FAILURE;
}
if ((e = pthread_join(tid, NULL))) {
printf("pthread_join() failed with %d.\n", e);
return EXIT_FAILURE;
}
cl date Thu Mar 15 14:42:55 EST 2001 cl uname -a SunOS clayton 5.7 sun4u sparc SUNW,Ultra-5_10 cl g++ -o forktime forktime.cc -lpthread cl forktime 79 usec for 2000 iterations, 0.0395 usec/iteration. 7817.5 usec per fork() call for 2000 calls. 104.193 usec per pthread_create() call for 2000 calls. cl forktime 79 usec for 2000 iterations, 0.0395 usec/iteration. 7864.8 usec per fork() call for 2000 calls. 109.993 usec per pthread_create() call for 2000 calls. cl CC -o forktime forktime.cc -lpthread cl forktime 19 usec for 2000 iterations, 0.0095 usec/iteration. 7803.37 usec per fork() call for 2000 calls. 82.0435 usec per pthread_create() call for 2000 calls. cl forktime 19 usec for 2000 iterations, 0.0095 usec/iteration. 7825.22 usec per fork() call for 2000 calls. 103.33 usec per pthread_create() call for 2000 calls. cl
ro uname -a Linux rockhopper.monmouth.edu 2.4.17 #1 SMP Thu Jan 3 13:52:42 EST 2002 i686 ro make g++ -o forkvthread -g forkvthread.cc -lpthread ro forkvthread 1151.7 usec per fork() call for 2000 calls. 140.091 usec per pthread_create() call for 2000 calls. ro forkvthread 1154.87 usec per fork() call for 2000 calls. 141.853 usec per pthread_create() call for 2000 calls. ro
mo uname -a OSF1 moncol.MONMOUTH.EDU V5.1 732 alpha mo forkvthread 42318.8 usec per fork() call for 2000 calls. 570.305 usec per pthread_create() call for 2000 calls. mo forkvthread 40124 usec per fork() call for 2000 calls. 690.909 usec per pthread_create() call for 2000 calls. mo
This page last modified on 16 March 2002.