Glenn Fowler wrote:
> by "Bourne shell" do you mean bash?

No... the old Bourne shell, still shipped on Solaris as /usr/bin/sh
and /sbin/sh.

> 
> what is the system(3) implementation?
> when you test the "bourne shell" system() vs the ksh93 system()
> how do you tell system() to exclusively use one shell over the other?
> 
> what is the output of
>       ldd "bourne shell"
> vs
>       ldd ksh93
> 
> 
: barts at cyber[250]; ldd /usr/bin/sh
         libgen.so.1 =>   /lib/libgen.so.1
         libsecdb.so.1 =>         /lib/libsecdb.so.1
         libc.so.1 =>     /lib/libc.so.1
         libnsl.so.1 =>   /lib/libnsl.so.1
         libmp.so.2 =>    /lib/libmp.so.2
         libmd.so.1 =>    /lib/libmd.so.1
         libscf.so.1 =>   /lib/libscf.so.1
         libuutil.so.1 =>         /lib/libuutil.so.1
         libm.so.2 =>     /lib/libm.so.2
: barts at cyber[251]; ldd /usr/bin/i86/ksh93
         libshell.so.1 =>         /usr/lib/libshell.so.1
         libc.so.1 =>     /lib/libc.so.1
         libcmd.so.1 =>   /usr/lib/libcmd.so.1
         libdll.so.1 =>   /usr/lib/libdll.so.1
         libast.so.1 =>   /usr/lib/libast.so.1
         libsocket.so.1 =>        /lib/libsocket.so.1
         libsecdb.so.1 =>         /lib/libsecdb.so.1
         libm.so.2 =>     /lib/libm.so.2
         libnsl.so.1 =>   /lib/libnsl.so.1
         libmp.so.2 =>    /lib/libmp.so.2
         libmd.so.1 =>    /lib/libmd.so.1
         libscf.so.1 =>   /lib/libscf.so.1
         libuutil.so.1 =>         /lib/libuutil.so.1
         libgen.so.1 =>   /lib/libgen.so.1
: barts at cyber[252];

Roland Mainz wrote:

> 2. Did you measure /usr/bin/ksh93 or /usr/bin/i86/ksh93 ? /usr/bin/ksh93
> is a hardlink to /usr/lib/isaexec (since we ship a 64bit version of
> ksh93) which contributes at least a (heavy-wheight) |exec()| call (David
> Comay avoided this in his patch for Indiana via linking /sbin/sh to
> /usr/bin/i86/ksh93 directly)

Changing /sbin/sh to avoid isexec trimmed the time by a factor of ~1.5;
it's still slower by a good bit.

> 3. Which locale did you use (e.g. what is the output of $ env | egrep
> "LC_|LANG" #) ?

C locale
> 4. Could you please list the command sequence to measure the startup
> time of both Bourne shell and ksh93 ?

I used libmicro's system benchmark and just replaced /sbin/sh w/ a 
variants I wanted to try.

- Bart




-- 
Bart Smaalders                  Solaris Kernel Performance
barts at cyber.eng.sun.com              http://blogs.sun.com/barts

Reply via email to