<div dir="ltr"><div class="gmail_extra">Hello, Vish!</div><div class="gmail_extra"><br></div><div class="gmail_extra">I hope you can provide some historical data.<br><br><div class="gmail_quote">On Fri, Feb 7, 2014 at 9:37 PM, Vishvananda Ishaya <span dir="ltr"><<a href="mailto:vishvananda@gmail.com" target="_blank">vishvananda@gmail.com</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

To be clear, since many people weren’t around in ye olde days, nova started using tornado. We exchanged tornado for twisted, and finally moved to eventlet. People have suggested gevent and threads in the past, and now asyncio. There are advantages to all of these other solutions, but a change at this point is going to be a huge pain, even the abstracting one you mention above.<br>

</blockquote><div><br></div><div>Can you remember what were pros and cons for threads in that time? Did anyone consider using external HTTP server as opposed to running one in process?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


If we are going to invest the time in making another change, I think we need a REALLY good reason to do so. Some reasons that might be good enough to be worth considering:<br>
<br>
a) the cost of porting the library to a maintained python version (3.X at some point) is greater than replacing it with something else<br></blockquote><div><br></div><div>I think, eventlet hits this one. </div><div> </div>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
b) the performance of the other option is an order of magnitude better. I’m really talking 10X here.<br></blockquote></div><div class="gmail_extra"><br></div><div>Will you consider other technological benefits? For example, as it happened with Keystone and Apache HTTPD (IPv6, HTTP/1.1, Kerberos).</div>

<div><br></div>-- <br><br><div>Kind regards, Yuriy.</div>
</div></div>