KO Myung-Hun dixit:

>I've found the cause. It's external printf command. Replacing printf
>with print builtin finishes configure in reasonable time. However,

Ah, okay, good to know. Other shells only added printf relatively
late too (well, dash did), precisely as a speed hack.

You *can* have printf as mksh builtin, but only without floating
point operations (unless you supply your own).

>unforutnately, mksh was about 3x slower than dash.

That’s probably because of the environment. On Unix and GNU,
mksh is about 1.1x as slow as dash, and statically linked
even much faster. However, it does execute more code (more
features, but also more correctness), so this is to be a bit
expected.

Perhaps dash uses something like vfork or spawn to create
external child processes, and that’s faster on OS/2, or so.

I’d personally still use mksh even if a bit slower, just
to avoid the headaches that come from ① having more than
one shell (incompatibilities, etc.) and ② ash/dash, in
particular. But YMMV, of course.

Anyway, thanks for clearing this up.

Reply via email to