Subject: Re: [executables] was: why Haskell hasn't replaced CL yet?
From: Erik Naggum <erik@naggum.no>
Date: 2000/02/28
Newsgroups: comp.lang.lisp
Message-ID: <3160741395490719@naggum.no>

* Tim Bradshaw <tfb@cley.com>
| I tried this and it's basically the same (but my machine is a bunch
| slower to start than Erik's for reasons I don't really know or care).
| I'd assume (perhaps wrongly) that Erik will see a slowdown of 2 for the
| serial one because he has a 2-processor machine so he ought to be able to
| schedule one process on each cpu for the pll version whereas the serial
| one can not do that.  Of course that just makes the startup time he's
| measuring be the effective time for a ~ 1.2GHz serial machine.  So maybe
| it's 40ms or something, who cares?

  nonono, while we're making wild conjectures about the behavior of
  completely irrelevant tasks, we must not also make serious mistakes, or
  the data might suddenly become statistically valid.

  SMP systems don't behave the way people tend to think.  like, we used up
  <1 second of real time, and 1.5 seconds of CPU time, which is not at all
  close to 40 ms, but more like 30 ms with all the overhead accounted for.
  however, each process takes less than that, but I don't really know why
  it takes more than 25 ms per process to fire it up in such a packed loop
  when it takes close to 20 ms when run once, by itself, but it's fairly
  consistent.  it is not a measurement error -- the real time reported is
  in 1 ms units, while CPU time is reported in 10 ms units.  however, the
  processor a process runs on doesn't grow any faster just because there's
  one more of it that can run another process -- it's still a 600MHz
  processor.  it's only during heavy multitasking that such a system can
  approach 1.2GHz combined performance.  otherwise, the big win is only in
  the interactive response time when one CPU is idle.  not that I complain.
  
#:Erik