Date: Tue, 3 Feb 2004 00:07:08 EST-10EDT,10,-1,0,7200,3,-1,0,7200,3600 Subject: [Ux2bs_Archive] No. 271 ************************************************** Monday 02 February 2004 Number 271 ************************************************** Subjects for today 1 Re: Any new UX2BS testers? : knut st. osmundsen" **= Email 1 ==========================** Date: Mon, 02 Feb 2004 00:06:35 +0100 From: "knut st. osmundsen" Subject: Re: Any new UX2BS testers? Andreas Buening wrote: > James M Moe wrote: > >>knut st. osmundsen wrote: > > >>>I know, but ash on OS/2 is still way slower than bash running on a linux >>>box with a quarter of the CPU speed. >>> >> >> Does anyone know why? >> I've often wondered about that but never looked into it. Is it really >>because of fork()? No other app seems to display such relative CPU needs. > > > I think so. Linux ports most likely use vfork() instead of fork() which > can be much faster because it doesn't do a real fork. No, the real reason is that OS/2 (and Win32) sucks badly on creating new processes. Linux is 10+ times faster doing if (!fork()) exec() than OS/2 is doing DosExecPgm. I've though about vfork() for a while, and I think it might be possible to implement it on OS/2. However I haven't encountered much code yet which really requires it. What I encountered in gettext v0.13 was a choice between fork() and posix_spawn[p](), and I decided posix_spawn was easier to implement/port that fork. (The posix_spawn is specified in the SuS (single unix specification) and some posix standard, glibc implements it and the I've seen the GNU Hurd guys encourage use of it for performance reasons.) As to when the next LIBC/GCC release is due.. within a fortnight, assuming that my hands doesn't stop working. Kind Regards, knut _______________________________________________ UX2BS mailing list UX2BS at os2ports.com http://os2ports.com/mailman/listinfo/ux2bs