>>>>> "BG" == Benjamin Goldberg <[EMAIL PROTECTED]> writes:
BG> Damien Neil wrote: BG> [snip] >> Also, given that asynchronous IO is a fairly unpopular programming >> technique these days (non-blocking event-loop IO and blocking >> threaded IO are far more common), I would think long and hard before >> placing support for it as a core design goal of the VM. If there >> is a compelling reason to use AIO, the implementation may better >> be handled at a lower level than Parrot; even if Parrot itself does >> not support AIO at the opcode level, Parrot programs could still >> use it by calling down to a C library. BG> AIO is unpopular because it's not widely/portably supported, whereas BG> non-blocking event-loop IO is, (one generally does have either select or BG> poll), as is blocking threaded IO (even if the thread starting stuff may BG> need to be different on some platform, it's *mostly* portable). and event loop i/o doesn't usually support async file i/o. many people conflate the two. event i/o handles sockets, pipes and such but none support files. the issue is that the async file i/o api is so different (or non-existant) on all the platforms. dan wants to make clean async file i/o in the core by using a blocking thread on each i/o request and synchronizing them with this event queue in the main thread. it has the advantage of being easier to code and should work on most platforms which have threads. and he wants async file i/o in parrot core since it is faster and has to be in the core to be properly supported at higher levels. BG> If we make it a core part of parrot, it will become more popular, BG> simply because of parrot's availability. that is a major win since no other system i (or dan) has heard of has portable async file i/o. and it will be integrated into the core event handling so you will be able to mix and match async socket, terminal (on unix at least) and file i/o with timers. this is what i want. :) uri -- Uri Guttman ------ [EMAIL PROTECTED] -------- http://www.stemsystems.com --Perl Consulting, Stem Development, Systems Architecture, Design and Coding- Search or Offer Perl Jobs ---------------------------- http://jobs.perl.org