At 12:33 PM 9/20/2001 -0700, Hong Zhang wrote:

> >   DS> I'm also seriously considering throwing *all* PerlIO code into
> > separate
> >   DS> threads (one per file) as an aid to asynchrony.
> >
> > but that will be hard to support on systems without threads. i still
> > have that internals async i/o idea floating in my numb skull. it is an
> > api that would look async on all platforms and will use the kernel async
> > file i/o if possible. it could be made thread specific easily as my idea
> > was that the event system was also thread specific.
> >
>I think we should have some thread abstraction layer instead of throwing
>PerlIO into threads. The thread abstraction layer can use either native 
>thread package (blocking io), or implement user level thread package
>with either non-blocking io or async io.

I did say I was seriously considering it, not that I was going to do it. We 
may well just throw the PerlIO stuff (at least anything with a filter) into 
separate interpreters rather than separate threads. We'll see.

>The internal io should be sync instead of async.

Nope. Internal I/O, at least as the interpreter will see it is async. You 
can build sync from async, it's a big pain to build async from sync. 
Doesn't mean we actually get asynchrony, just that we can.

>async is normally slower than sync (most of unix don't have real async 
>io), and thread is cheap.

Just because some systems have a really pathetic I/O system doesn't mean we 
should penalize those that don't...

                                        Dan

--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                      teddy bears get drunk

Reply via email to