bug-bash
[Top][All Lists]
Advanced

[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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]