[ydl-gen] Linux yellow dog manual for dummies

Robert Spykerman robert.spykerman at gmail.com
Fri Jan 15 10:03:34 JST 2010


Eh.. I must have missed this thread. Bit late but I think I may know
what is up and perhaps it is actually due to the kernel. forks
possibly given the way Rob described the code he was running.

On Sun, Dec 27, 2009 at 7:46 AM, Warren Nagourney
<warren at phys.washington.edu> wrote:

> That's very interesting, Rob. Were the apps compiled using the same
> compilers (with the same degree of optimization) in both cases? Were the
> time differences actual CPU time of just elapsed time?

... snip...

> Another difference might be the Mach kernel that OS X uses. This hasn't been
> talked about much, but there was a time when an OS with a monolithic kernel
> allowed things like context switches to take place much more quickly.
> Supposedly, the microkernel has been improved, but it is not clear how much.

Actually, I was once looking into Darwin/XNU. I had to make a few
syscalls (one of which was fork) to port something to x86 OSX. One guy
at Apple in no uncertain terms told me what I was doing was not the
right thing to do even though one would typically get away with it in
linux (and I can understand why - "We reserve the right to change the
syscalls etc..." Same thing applies in linux although it has remained
remarkably constant there).

One of the things I discovered during that brief foray into XNU was
that forks are MUCH slower in OSX than linux and I was I don't have
figures but there's quite a bit of mention made about that on

>>> On Dec 26, 2009, at 8:09 AM, Rob Sanders wrote:
>>>
>>>> I haven't done much with YDL in some time as I've changed jobs, but I'd
>>>> just like to chime in that several years ago that the PPC Linux's ( YDL for
>>>> Mac, full RedHat/SuSE on some IBM OpenPower720 hardware) was running rings
>>>> around the equivalent x86 -or- Alpha based platforms we were doing some work
>>>> on.  Tried to get my bosses & customers more interested in it and hit the
>>>> wall of 'but it isn't x86'.  <sigh>.  At the time, a direct comparison of
>>>> the *same* base code on a Mac XServe G5 running on YDL4 vice OS X 10.3 had
>>>> the YDL code twice as fast as the OS X code.  Lots of double precision
>>>> floating point math, and multiple processes (not threads) communicating via
>>>> shared memory.  We would routinely max out any box we were running on.

That being the case if Rob Sanders's code was indeed forking a lot,
some of the time could be accounted for here. Maybe doing stuff with
processes in general are slower on OSX .. that far to generalize is
probably premature without proper testing.

Oh and XNU is really not a microkernel. Apple may say 'kind of' but to
me, really if most of the stuff runs in the kernel in supervisor mode,
it's a monolithic kernel, no matter what its hyped at, and if it
doesn't then it isn't.

Robert Spykerman

-- 
chown -R us ./base


More information about the yellowdog-general mailing list