>>>>> "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

Reply via email to