<div dir="ltr"><div>Trent, I watched your video and read your slides. (Does the word "motormouth" mean anything to you? :-)<br><br>Clearly your work isn't ready for python-dev -- it is just too speculative. I've moved python-dev to BCC and added python-ideas.<br>

<br>It possibly doesn't even belong on python-ideas -- if you are serious about wanting to change Linux or other *NIX variants, you'll have to go find a venue where people who do forward-looking kernel work hang out.<br>

<br></div>Finally, I'm not sure why you are so confrontational about the way Twisted and Tulip do things. We are doing things the only way they *can* be done without overhauling the entire CPython implementation (which you have proven will take several major release cycles, probably until 4.0). It's fine that you are looking further forward than most of us. I don't think it makes sense that you are blaming the rest of us for writing libraries that can be used today.<br>

</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Nov 16, 2013 at 10:13 AM, Trent Nelson <span dir="ltr"><<a href="mailto:trent@snakebite.org" target="_blank">trent@snakebite.org</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi folks,<br>
<br>
    Video of the presentation I gave last weekend at PyData NYC<br>
    regarding PyParallel just went live: <a href="https://vimeo.com/79539317" target="_blank">https://vimeo.com/79539317</a><br>
<br>
    Slides are here: <a href="https://speakerdeck.com/trent/pyparallel-how-we-removed-the-gil-and-exploited-all-cores-1" target="_blank">https://speakerdeck.com/trent/pyparallel-how-we-removed-the-gil-and-exploited-all-cores-1</a><br>


<br>
    The work was driven by the async I/O discussions around this time<br>
    last year on python-ideas.  That resulted in me sending this:<br>
<br>
        <a href="http://markmail.org/thread/kh3qgjbydvxt3exw#query:+page:1+mid:arua62vllzugjy2v+state:results" target="_blank">http://markmail.org/thread/kh3qgjbydvxt3exw#query:+page:1+mid:arua62vllzugjy2v+state:results</a><br>


<br>
    ....where I attempted to argue that there was a better way of<br>
    doing async I/O on Windows than the status quo of single-threaded,<br>
    non-blocking I/O with an event multiplex syscall.<br>
<br>
    I wasn't successful in convincing anyone at the time; I had no code<br>
    to back it up and I didn't articulate my plans for GIL removal at<br>
    the time either (figuring the initial suggestion would be met with<br>
    enough scepticism as is).<br>
<br>
    So, in the video above, I spend a lot of time detailing how IOCP<br>
    works on Windows, how it presents us with a better environment than<br>
    UNIX for doing asynchronous I/O, and how it paired nicely with the<br>
    other work I did on coming up with a way for multiple threads to<br>
    execute simultaneously across all cores without introducing any<br>
    speed penalties.<br>
<br>
    I'm particularly interested to hear if the video/slides helped<br>
    UNIX-centric people gain a better understanding of how Windows does<br>
    IOCP and why it would be preferable when doing async I/O.<br>
<br>
    The reverse is also true: if you still think single-threaded, non-<br>
    blocking synchronous I/O via kqueue/epoll is better than the<br>
    approach afforded by IOCP, I'm interested in hearing why.<br>
<br>
    As crazy as it sounds, my long term goal would be to try and<br>
    influence Linux and BSD kernels to implement thread-agnostic I/O<br>
    support such that an IOCP-like mechanism could be exposed; Solaris<br>
    and AIX already do this via event ports and AIX's verbatim copy of<br>
    Windows' IOCP API.<br>
<br>
    (There is some promising work already being done on Linux; see<br>
     recent MegaPipe paper for an example.)<br>
<br>
    Regards,<br>
<br>
        Trent.<br>
_______________________________________________<br>
Python-Dev mailing list<br>
<a href="mailto:Python-Dev@python.org">Python-Dev@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-dev" target="_blank">https://mail.python.org/mailman/listinfo/python-dev</a><br>
Unsubscribe: <a href="https://mail.python.org/mailman/options/python-dev/guido%40python.org" target="_blank">https://mail.python.org/mailman/options/python-dev/guido%40python.org</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>--Guido van Rossum (<a href="http://python.org/~guido">python.org/~guido</a>)
</div>