[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Weird performance problem
From: |
Greg Chicares |
Subject: |
Re: Weird performance problem |
Date: |
Wed, 14 Jul 2010 17:27:07 +0000 |
User-agent: |
Thunderbird 2.0.0.24 (Windows/20100228) |
On 2010-07-14 14:52Z, Leandro Lucarella wrote:
> Long story short, I have a program that when executed from a shell it
> takes about 3 seconds to complete, but when executed via make, it takes
> 5 seconds.
I trivially modified your very clear testcase here:
> http://www.llucax.com.ar/blog/blog/post/-7a56a111
to run a unit-test program of my own, but didn't see any penalty:
$echo 'all:' > Makefile
$echo -e '\t$C' >> Makefile
$make C="./elapsed_time ./zero_test-a"
./elapsed_time ./zero_test -a
Elapsed time: 43 milliseconds
$./elapsed_time ./zero_test -a
Elapsed time: 43 milliseconds
> Is there anything make does to the environment (in a general sense, not
> only environment variables) before executing commands that could cause
> a difference like this?
To diagnose this further, you might try echoing the precise time
- before you start 'make'
- just before running your test program
- just after running your test program
- right after 'make' ends
My first guess would be that the difference you observe is shell
startup time. I realize that you have evidence that argues against
that (because only one test program seems to be affected). But you
have already measured running your program directly:
/usr/bin/time -f%e ./voronoi -n 30000
and it wouldn't hurt to run
sh -c '/usr/bin/time -f%e ./voronoi -n 30000'
just to see whether that takes remarkably longer.
If you have defined a $SHELL variable in the environment, 'make'
will use that instead of '/bin/sh'.
Re: Weird performance problem, Leandro Lucarella, 2010/07/14