[Haskell-cafe]Re: Hugsvs GHC (again)was: Re: Somerandomnewbiequestions

Glynn Clements glynn at gclements.plus.com
Thu Jan 20 15:54:30 EST 2005


Keean Schupke wrote:

> > > read. I don't see the problem... (Okay, I can see that if select lies, 
> > > and the
> > > read takes a long time you might miss the next scheduling timeslot - but
> > > as far as I am aware select doesn't lie, and read will return immediately
> > > if select says there is data ready)...
> > >     
> > > 
> >
> >select() _does_ lie for "ordinary files", e.g., disk files.  It
> >assumes the data is immediately readable, even if it hasn't pulled it
> >off disk yet.  If the "ordinary" file actually resides on an NFS
> >volume, or CD, or something else slow, then you have a problem.
> 
> But the kernel does read-ahead so this data should just be a buffer copy.

You can't rely upon the kernel always having read the data already. 
E.g. a program which performs trivial operations on large files may
well be able to consume the data faster than the kernel can obtain it.

-- 
Glynn Clements <glynn at gclements.plus.com>


More information about the Haskell-Cafe mailing list