public inbox for gentoo-user@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-user]  Dash as /bin/sh?
@ 2006-09-01  8:45 Alexander Skwar
  2006-09-01  9:17 ` asl.pavel
                   ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Alexander Skwar @ 2006-09-01  8:45 UTC (permalink / raw
  To: gentoo-user

Hi!

The Ubuntu folks report on https://wiki.ubuntu.com/DashAsBinSh, that
bootup and also ./configure runs are *WAY* faster if "dash" is used
as /bin/sh instead of bash.

Did anyone try this out on Gentoo? Are the boot scripts from Gentoo
strictly POSIX compliant?

Bye,

Alexander Skwar
-- 
Vini, vidi, Linux!
        -- Unknown source


-- 
gentoo-user@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [gentoo-user]  Dash as /bin/sh?
  2006-09-01  8:45 [gentoo-user] Dash as /bin/sh? Alexander Skwar
@ 2006-09-01  9:17 ` asl.pavel
  2006-09-01 10:13 ` Erik
  2006-09-01 11:03 ` [gentoo-user] " Neil Bothwick
  2 siblings, 0 replies; 14+ messages in thread
From: asl.pavel @ 2006-09-01  9:17 UTC (permalink / raw
  To: gentoo-user


But "/bin/sh" just link to "/bin/bash"

On Fri, Sep 01, 2006 at 10:45:44AM +0200, Alexander Skwar wrote:
> Hi!
> 
> The Ubuntu folks report on https://wiki.ubuntu.com/DashAsBinSh, that
> bootup and also ./configure runs are *WAY* faster if "dash" is used
> as /bin/sh instead of bash.
> 
> Did anyone try this out on Gentoo? Are the boot scripts from Gentoo
> strictly POSIX compliant?
> 
> Bye,
> 
> Alexander Skwar
> -- 
> Vini, vidi, Linux!
>         -- Unknown source
> 
> 
> -- 
> gentoo-user@gentoo.org mailing list

-- 
 Aslanov Pavel                                                         01.09.06
-- 
gentoo-user@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [gentoo-user]  Dash as /bin/sh?
  2006-09-01  8:45 [gentoo-user] Dash as /bin/sh? Alexander Skwar
  2006-09-01  9:17 ` asl.pavel
@ 2006-09-01 10:13 ` Erik
  2006-09-01 11:09   ` [gentoo-user] " Alexander Skwar
  2006-09-01 11:03 ` [gentoo-user] " Neil Bothwick
  2 siblings, 1 reply; 14+ messages in thread
From: Erik @ 2006-09-01 10:13 UTC (permalink / raw
  To: gentoo-user

Alexander Skwar wrote:
> The Ubuntu folks report on https://wiki.ubuntu.com/DashAsBinSh, that
> bootup and also ./configure runs are *WAY* faster if "dash" is used
> as /bin/sh instead of bash.
>
> Did anyone try this out on Gentoo? Are the boot scripts from Gentoo
> strictly POSIX compliant?

I tried "time configure" in gnuplot several times for each shell and 
took the fastest time.

shell         real       user      sys
       bash   0m11.924s  0m6.848s  0m2.980s
       dash   0m11.822s  0m6.888s  0m2.816s
static dash   0m11.977s  0m6.804s  0m3.064s

dash would be 0,9% faster, which is not statistically significant when 
measuring like this.
-- 
gentoo-user@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [gentoo-user]  Dash as /bin/sh?
  2006-09-01  8:45 [gentoo-user] Dash as /bin/sh? Alexander Skwar
  2006-09-01  9:17 ` asl.pavel
  2006-09-01 10:13 ` Erik
@ 2006-09-01 11:03 ` Neil Bothwick
  2006-09-01 14:05   ` Neil Bothwick
  2 siblings, 1 reply; 14+ messages in thread
From: Neil Bothwick @ 2006-09-01 11:03 UTC (permalink / raw
  To: gentoo-user

[-- Attachment #1: Type: text/plain, Size: 998 bytes --]

On Fri, 01 Sep 2006 10:45:44 +0200, Alexander Skwar wrote:

> The Ubuntu folks report on https://wiki.ubuntu.com/DashAsBinSh, that
> bootup and also ./configure runs are *WAY* faster if "dash" is used
> as /bin/sh instead of bash.

I've just tried it on my 1GHz iBook and boot time dropped from 74s to
60s. That's timed from selecting a bootloader option to the root prompt
appearing, less the time taken to type in my luks/dm-crypt passphrase.

Most of the saving came in the early part of the boot process, the part
before the password prompt (which comes from bootmisc AFAIK). It looked
like the udev stuff happened quicker, but I can't quantify that.

Anyway, a 20% reduction in boot time is nice, wherever it happens. Thanks
for the pointer.

> Did anyone try this out on Gentoo? Are the boot scripts from Gentoo
> strictly POSIX compliant?

I saw no errors, so they are certainly WFM compliant :)


-- 
Neil Bothwick

I'm Bugs Bunny of Borg.  What's up Collective?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [gentoo-user]  Re: Dash as /bin/sh?
  2006-09-01 10:13 ` Erik
@ 2006-09-01 11:09   ` Alexander Skwar
  0 siblings, 0 replies; 14+ messages in thread
From: Alexander Skwar @ 2006-09-01 11:09 UTC (permalink / raw
  To: gentoo-user

Erik <sigra@home.se>:

> Alexander Skwar wrote:
>> The Ubuntu folks report on https://wiki.ubuntu.com/DashAsBinSh, that
>> bootup and also ./configure runs are *WAY* faster if "dash" is used
>> as /bin/sh instead of bash.
>>
>> Did anyone try this out on Gentoo? Are the boot scripts from Gentoo
>> strictly POSIX compliant?
> 
> I tried "time configure" in gnuplot several times for each shell and 
> took the fastest time.
> 
> shell         real       user      sys
>        bash   0m11.924s  0m6.848s  0m2.980s
>        dash   0m11.822s  0m6.888s  0m2.816s
> static dash   0m11.977s  0m6.804s  0m3.064s
> 
> dash would be 0,9% faster, which is not statistically significant when 
> measuring like this.

Interesting. Thanks. Them Ubuntu guys said, that the configure run
for OOo is supposed to be much faster - 2 minutes, or so.

Thanks!

Alexander Skwar
-- 
These PRESERVES should be FORCE-FED to PENTAGON OFFICIALS!!


-- 
gentoo-user@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [gentoo-user]  Dash as /bin/sh?
  2006-09-01 11:03 ` [gentoo-user] " Neil Bothwick
@ 2006-09-01 14:05   ` Neil Bothwick
  2006-09-01 14:33     ` [gentoo-user] " Harm Geerts
  0 siblings, 1 reply; 14+ messages in thread
From: Neil Bothwick @ 2006-09-01 14:05 UTC (permalink / raw
  To: gentoo-user

[-- Attachment #1: Type: text/plain, Size: 510 bytes --]

On Fri, 1 Sep 2006 12:03:35 +0100, Neil Bothwick wrote:

> I saw no errors, so they are certainly WFM compliant :)

Or not. The boot process worked fine, but some scripts started failing
once the desktop was working. The first, somewhat appropriately, was
sux. It works from a VC but errors out in an xterm with

exec: 1: -l: not found

I tried ash, only a few K larger than dash. This gave the same speed
improvement and the same errors :(


-- 
Neil Bothwick

A good pun is its own reword.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [gentoo-user] Re: Dash as /bin/sh?
  2006-09-01 14:05   ` Neil Bothwick
@ 2006-09-01 14:33     ` Harm Geerts
  2006-09-01 15:21       ` Neil Bothwick
  0 siblings, 1 reply; 14+ messages in thread
From: Harm Geerts @ 2006-09-01 14:33 UTC (permalink / raw
  To: gentoo-user

On Friday 01 September 2006 16:05, Neil Bothwick wrote:
> On Fri, 1 Sep 2006 12:03:35 +0100, Neil Bothwick wrote:
> > I saw no errors, so they are certainly WFM compliant :)
>
> Or not. The boot process worked fine, but some scripts started failing
> once the desktop was working. The first, somewhat appropriately, was
> sux. It works from a VC but errors out in an xterm with
>
> exec: 1: -l: not found
>
> I tried ash, only a few K larger than dash. This gave the same speed
> improvement and the same errors :(

You can force sux to use bash.
Just replace the first line in /usr/bin/sux with "#!/bin/bash" 

You'd have to do the same for all scripts that depend on bash functionality.

Speaking of which, you probably should see the shell used in the scripts from 
the sys-apps/baselayout package. All shell scripts use /bin/bash and 
not /bin/sh.

So linking (d)ash as the default shell doesn't nearly have the impact you'd 
like it to have.
-- 
gentoo-user@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [gentoo-user] Re: Dash as /bin/sh?
  2006-09-01 14:33     ` [gentoo-user] " Harm Geerts
@ 2006-09-01 15:21       ` Neil Bothwick
  2006-09-02  2:06         ` Harm Geerts
  0 siblings, 1 reply; 14+ messages in thread
From: Neil Bothwick @ 2006-09-01 15:21 UTC (permalink / raw
  To: gentoo-user

[-- Attachment #1: Type: text/plain, Size: 848 bytes --]

On Fri, 1 Sep 2006 16:33:01 +0200, Harm Geerts wrote:

> You can force sux to use bash.
> Just replace the first line in /usr/bin/sux with "#!/bin/bash" 

That was the first thing I tried, it made no difference. A quick look at
sux shows it building a command to pas to exec that used $SHELL,. This is
probably where it's switching back to /bin/sh, but I'm not prepared to
spend much time looking for it to save 14 seconds.

> Speaking of which, you probably should see the shell used in the
> scripts from the sys-apps/baselayout package. All shell scripts
> use /bin/bash and not /bin/sh.
> 
> So linking (d)ash as the default shell doesn't nearly have the impact
> you'd like it to have.

A 20% reduction in boot time is a reasonable impact IMO.


-- 
Neil Bothwick

... "I dropped my toothpaste," Tom said, Crestfallen.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [gentoo-user] Re: Dash as /bin/sh?
  2006-09-01 15:21       ` Neil Bothwick
@ 2006-09-02  2:06         ` Harm Geerts
  2006-09-02  2:57           ` Jerry McBride
  2006-09-02 18:10           ` Neil Bothwick
  0 siblings, 2 replies; 14+ messages in thread
From: Harm Geerts @ 2006-09-02  2:06 UTC (permalink / raw
  To: gentoo-user

On Friday 01 September 2006 17:21, Neil Bothwick wrote:
> > Speaking of which, you probably should see the shell used in the
> > scripts from the sys-apps/baselayout package. All shell scripts
> > use /bin/bash and not /bin/sh.
> >
> > So linking (d)ash as the default shell doesn't nearly have the impact
> > you'd like it to have.
>
> A 20% reduction in boot time is a reasonable impact IMO.

Any chance that was a fluke?

I've done a few reboots with bootchart to confirm this and I don't get any 
speedup. In fact /bin/sh is never called because the gentoo init scripts 
explicitly use bash. (sys-apps/baselayout-1.12.4-r7)
-- 
gentoo-user@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [gentoo-user] Re: Dash as /bin/sh?
  2006-09-02  2:06         ` Harm Geerts
@ 2006-09-02  2:57           ` Jerry McBride
  2006-09-02  5:58             ` Richard Fish
  2006-09-02 18:10           ` Neil Bothwick
  1 sibling, 1 reply; 14+ messages in thread
From: Jerry McBride @ 2006-09-02  2:57 UTC (permalink / raw
  To: gentoo-user

On Friday 01 September 2006 22:06, Harm Geerts wrote:
> On Friday 01 September 2006 17:21, Neil Bothwick wrote:
> > > Speaking of which, you probably should see the shell used in the
> > > scripts from the sys-apps/baselayout package. All shell scripts
> > > use /bin/bash and not /bin/sh.
> > >
> > > So linking (d)ash as the default shell doesn't nearly have the impact
> > > you'd like it to have.
> >
> > A 20% reduction in boot time is a reasonable impact IMO.
>
> Any chance that was a fluke?
>
> I've done a few reboots with bootchart to confirm this and I don't get any
> speedup. In fact /bin/sh is never called because the gentoo init scripts
> explicitly use bash. (sys-apps/baselayout-1.12.4-r7)

I can't do it right now, I'm doing an "emerge -e world" on my laptop, but 
tomorrow I'll do a grep and sed and change #!/bin/bash to #!/bin/dash on the 
relavant parts of the baselayout and see if it has any impact, other than 
performance. 

"Slapping right hand to forehead...", This something I never thought of! 
Thanks for the idea.

The other thing to consider is, you don't have to use "all" the gentoo init 
scripts...

Just this week, I evaluated minit, initng, runit and fcache. For me, initNG 
offered the best overall improvement. 

However, I got even better performance with my own solution. Basicly, I use 
the very minimum number gentoo startup scripts. All I use are those that 
initialize the disks and that's it.  The rest of the bootup process is done 
in local.start. My local.start configures all the devices on my laptop, 
including the lo, eth0  services. It loads the modules in correct order, 
brings up portmap, nfs, samba, cups, fam, hal, dbus, alsa, etc., etc. Where 
possible I run the commands as detached processes for even more 
performance... My local.start is ugly as hell, but very fast as there's very 
little bash/python scripting involved... and none of the python bloat that 
gentoo has going on in /etc/init.d. I'm able to get to a fully functioning 
command prompt in like 10 seconds after the kernel is done loading. 
Some configuration still goes on in the background, but I never notice it. 

I've got a lot more testing to do, but at first blush I believe the generation 
of this type of local.start could be automated. What I see happening is, once 
a gentoo user is satisfied that the box is setup to their liking, they'd run 
a script that would evaluate /etc/runlevels, scoop the necessary setup 
information from /etc/conf.d  and generate a local.start providing the new 
boot process. The runlevels could be pruned automatically and on the next 
reboot, the new boot process is used for a dramatic decrease in boot time.

I dunno, this could be fun. ;')

Cheers all, Jerry



-- 
gentoo-user@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [gentoo-user] Re: Dash as /bin/sh?
  2006-09-02  2:57           ` Jerry McBride
@ 2006-09-02  5:58             ` Richard Fish
  0 siblings, 0 replies; 14+ messages in thread
From: Richard Fish @ 2006-09-02  5:58 UTC (permalink / raw
  To: gentoo-user

On 9/1/06, Jerry McBride <mcbrides9@comcast.net> wrote:
> little bash/python scripting involved... and none of the python bloat that
> gentoo has going on in /etc/init.d.

AFACT, python is never invoked for any of the init scripts.

-Richard
-- 
gentoo-user@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [gentoo-user] Re: Dash as /bin/sh?
  2006-09-02  2:06         ` Harm Geerts
  2006-09-02  2:57           ` Jerry McBride
@ 2006-09-02 18:10           ` Neil Bothwick
  2006-09-02 18:38             ` Jerry McBride
  1 sibling, 1 reply; 14+ messages in thread
From: Neil Bothwick @ 2006-09-02 18:10 UTC (permalink / raw
  To: gentoo-user

[-- Attachment #1: Type: text/plain, Size: 409 bytes --]

On Sat, 2 Sep 2006 04:06:15 +0200, Harm Geerts wrote:

> > A 20% reduction in boot time is a reasonable impact IMO.  
> 
> Any chance that was a fluke?

I ran the test several times, and switched back top bash to confirm. The
boot times were consistent, within the accuracy of the idiot holding the
stopwatch :)


-- 
Neil Bothwick

If you got the words it does not mean you got the knowledge.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [gentoo-user] Re: Dash as /bin/sh?
  2006-09-02 18:10           ` Neil Bothwick
@ 2006-09-02 18:38             ` Jerry McBride
  2006-09-03 11:49               ` [gentoo-user] " Alexander Skwar
  0 siblings, 1 reply; 14+ messages in thread
From: Jerry McBride @ 2006-09-02 18:38 UTC (permalink / raw
  To: gentoo-user

On Saturday 02 September 2006 14:10, Neil Bothwick wrote:
> On Sat, 2 Sep 2006 04:06:15 +0200, Harm Geerts wrote:
> > > A 20% reduction in boot time is a reasonable impact IMO.
> >
> > Any chance that was a fluke?
>
> I ran the test several times, and switched back top bash to confirm. The
> boot times were consistent, within the accuracy of the idiot holding the
> stopwatch :)

The only downside to this is that some emerges will fail if they rely on 
bash's enhanced features. I just did the roundy-round with this and ffmepg. 
Linking sh back to bash allowed the emerge to complete. The failure, by the 
way, was during configure.

--

Jerry
-- 
gentoo-user@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 14+ messages in thread

* [gentoo-user]  Re: Re: Dash as /bin/sh?
  2006-09-02 18:38             ` Jerry McBride
@ 2006-09-03 11:49               ` Alexander Skwar
  0 siblings, 0 replies; 14+ messages in thread
From: Alexander Skwar @ 2006-09-03 11:49 UTC (permalink / raw
  To: gentoo-user

· Jerry McBride <mcbrides9@comcast.net>:

> On Saturday 02 September 2006 14:10, Neil Bothwick wrote:
>> On Sat, 2 Sep 2006 04:06:15 +0200, Harm Geerts wrote:
>> > > A 20% reduction in boot time is a reasonable impact IMO.
>> >
>> > Any chance that was a fluke?
>>
>> I ran the test several times, and switched back top bash to confirm. The
>> boot times were consistent, within the accuracy of the idiot holding the
>> stopwatch :)
> 
> The only downside to this is that some emerges will fail if they rely on 
> bash's enhanced features.

But those are broken ebuilds. If they need bash, then they've got
to call bash and not sh, which has to be POSIX compliant and nothing
more.

> I just did the roundy-round with this and ffmepg.  
> Linking sh back to bash allowed the emerge to complete. The failure, by the 
> way, was during configure.

With ffmpeg?
> 
> Jerry

Alexander Skwar
-- 
Distrust all those who love you extremely upon a very slight acquaintance
and without any visible reason.
                -- Lord Chesterfield


-- 
gentoo-user@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2006-09-04 16:14 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-09-01  8:45 [gentoo-user] Dash as /bin/sh? Alexander Skwar
2006-09-01  9:17 ` asl.pavel
2006-09-01 10:13 ` Erik
2006-09-01 11:09   ` [gentoo-user] " Alexander Skwar
2006-09-01 11:03 ` [gentoo-user] " Neil Bothwick
2006-09-01 14:05   ` Neil Bothwick
2006-09-01 14:33     ` [gentoo-user] " Harm Geerts
2006-09-01 15:21       ` Neil Bothwick
2006-09-02  2:06         ` Harm Geerts
2006-09-02  2:57           ` Jerry McBride
2006-09-02  5:58             ` Richard Fish
2006-09-02 18:10           ` Neil Bothwick
2006-09-02 18:38             ` Jerry McBride
2006-09-03 11:49               ` [gentoo-user] " Alexander Skwar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox