On 2/20/07, Bruce Dubbs <[EMAIL PROTECTED]> wrote:
> Dan Nicholson wrote:
> >
> > $ time { for (( i = 0; i < 20; i++ )); do /bin/bash -c ":"; done; }
> >
> > real 0m0.034s
> > user 0m0.014s
> > sys 0m0.020s
> > $ time { for (( i = 0; i < 20; i++ )); do /bin/dash -c ":"; done; }
> >
> > real 0m0.015s
> > user 0m0.004s
> > sys 0m0.011s
>
> OK, let's analyze this. 20 invocations. 19 ms difference. Less than 1
> ms wall clock time per invocation. How much time did you want to put in
> on this? :)
Let's analyze it a different way. It takes over twice as long to
initialize and close a bash shell than a dash shell. Why do that when
you don't have to? It's a simple optimization.
> The memory space is generally not significant either because only one
> copy of the code is in memory at any time. The difference would be data
> space.
It's not the amount of memory that's the problem. But you're
constantly loading and unloading 6 times as much memory. I'd say that
accounts for the difference above.
The overhead is the same reason why people are adamant about coding in
C after all these years despite the availability of more powerful and
intuitive languages.
--
Dan
--
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page