[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bug/limitation in 'time' (kernel setings?)...
From: |
Linda Walsh |
Subject: |
Re: Bug/limitation in 'time' (kernel setings?)... |
Date: |
Wed, 20 Mar 2013 01:12:17 -0700 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.24) Gecko/20100228 Lightning/0.9 Thunderbird/2.0.0.24 Mnenhy/0.7.6.666 |
Bruce Dawson wrote:
> The reply below is way too long, but oh well.
>
> The summary is:
> I am 100% certain that my ExprCount() loop is CPU bound.
----
Your stats claim 530 iterations/second when spawning expr.
That's ~2ms/process create.
In an article from 14 years ago on a 200Mhz Pentium, Linux process
creates were ~1ms.
http://www.linuxjournal.com/article/2941
(table @
http://www.linuxjournal.com/files/linuxjournal.com/linuxjournal/articles/029/2941/2941f1.jpg)
If you believe that a modern processor running at 1.6GHz, takes twice as long
as a 14 year old pentium, then there is little likelihood that you will be
convinced by any logical argument.
You need to rebuild your kernel with the config option turned on -- in fact,
you need to build your own kernel if you want to do any sort of kernel
benchmarks.
> You seem convinced that the task is not CPU bound on my machine, but I'm
> convinced that it is.
---
Then your kernel is misconfigured for your workload.
You said:
> I am 100% certain that my ExprCount() loop is CPU bound. It is unfortunate
> that time gives inaccurate information about this. It would be nice if the
> documentation acknowledged that in order to save future generations from
> confusion.
----
What documentation would you have updated?
Here is a perl program:
#!/usr/bin/perl
die "need count" unless @ARGV;
my $count=$ARGV[0];
my $counter=$count;
while ($counter-->0) {
my $pid;
if (my $pid=fork() ) {
waitpid($pid,0);
}else {
exec "/bin/true"; # use 'exit(0)' to just time forks w/no image load
}
}
-----------------------------
> /usr/bin/time /tmp/sp.pl 10000
time schedtool -a 3 -e /tmp/sp.pl 10000
6.83sec 0.05usr 0.97sys (15.05% cpu)
---
But if I don't confine it to 1 cpu:
> time /tmp/sp.pl 10000
10.54sec 0.20usr 2.59sys (26.52% cpu)
Just forks:
> time /tmp/sp.pl 10000
7.23sec 0.12usr 2.36sys (34.35% cpu)
> time /tmp/sp.pl 10000
7.21sec 0.12usr 2.35sys (34.39% cpu)
---
1cpu forks:
> time schedtool -a 3 -e /tmp/sp.pl 10000
4.32sec 0.06usr 0.95sys (23.69% cpu)
Ishtar:law> time schedtool -a 3 -e /tmp/sp.pl 10000
4.29sec 0.05usr 0.96sys (23.80% cpu)
-----------------
Right there, it shows you that the scheduler is taking almost 33% of your
time.
That may be cpu, but it is not cpu that your program is using.
That's why I say your accounting is off.
>From these figures, I would say it's closer to 1000/second
- RE: Bug/limitation in 'time' (kernel setings?)..., (continued)
- RE: Bug/limitation in 'time' (kernel setings?)..., Bruce Dawson, 2013/03/18
- Re: Bug/limitation in 'time' (kernel setings?)..., Pierre Gaston, 2013/03/19
- RE: Bug/limitation in 'time' (kernel setings?)..., Bruce Dawson, 2013/03/19
- Re: Bug/limitation in 'time' (kernel setings?)..., Linda Walsh, 2013/03/19
- RE: Bug/limitation in 'time' (kernel setings?)..., Bruce Dawson, 2013/03/19
- Re: Bug/limitation in 'time' (kernel setings?)..., Linda Walsh, 2013/03/19
- RE: Bug/limitation in 'time' (kernel setings?)..., Bruce Dawson, 2013/03/19
- Re: Bug/limitation in 'time' (kernel setings?)..., Linda Walsh, 2013/03/19
- Re: Bug/limitation in 'time' (kernel setings?)..., Linda Walsh, 2013/03/19
- RE: Bug/limitation in 'time' (kernel setings?)..., Bruce Dawson, 2013/03/20
- Re: Bug/limitation in 'time' (kernel setings?)...,
Linda Walsh <=
- RE: Bug/limitation in 'time' (kernel setings?)..., Bruce Dawson, 2013/03/20
- RE: Bug/limitation in 'time' (kernel setings?)..., Bruce Dawson, 2013/03/20
- Re: Bug/limitation in 'time' (kernel setings?)..., Linda Walsh, 2013/03/20
- RE: Bug/limitation in 'time' (kernel setings?)..., Bruce Dawson, 2013/03/21