# which threading model do we want? use threads; #use forks; $num_threads = shift(@ARGV) || 10; foreach (0..$num_threads-1) { # create a new thread push(@threads,threads->new(\&thread_sub)); } foreach $thread (@threads) { # wait for threads to finish $thread->join(); } printf "Orig thread done\n"; sub thread_sub { printf "Thread %d started\n",threads->tid(); }
When I run time on a series of runs with threads.pm/forks.pm, I can't tell how much cpu time forks.pm really uses because I only get the cpu time of the parent (working on that), but I the average page faults looks like this:
threads.pm: Major (requiring I/O) page faults: 387.00 Minor (reclaiming a frame) page faults: 1151.20 forks.pm: Major (requiring I/O) page faults: 470.00 Minor (reclaiming a frame) page faults: 4591.20
Wall clock time, for what that's worth (these are all run on the same machine), is consistently 4x for forks vs threads.
In reply to Re: Re: latest on ithreads vs forks?
by Anonymous Monk
in thread latest on ithreads vs forks?
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |