<div class="gmail_quote">On Thu Jan 29 2015 at 12:59:34 AM Mike Bayer <<a href="mailto:mbayer@redhat.com">mbayer@redhat.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hey list -<br></blockquote><span style="font-size:13.1999998092651px"><div class="gmail_quote"><span style="font-size:13.1999998092651px"><br></span></div>Hey, Mike.</span><br style="font-size:13.1999998092651px"><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">While PyMySQL is lacking test coverage in some areas, has no external documentation, and has at least some areas where Python performance can be improved, the basic structure of the driver is perfectly fine and straightforward.  I can envision turning this driver into a total monster, adding C-speedups where needed but without getting in the way of async patching, adding new APIs for explicit async, and everything else.   However, I’ve no idea what the developers have an appetite for.<br>
<br>
Please review the document at <a href="https://wiki.openstack.org/wiki/PyMySQL_evaluation" target="_blank">https://wiki.openstack.org/<u></u>wiki/PyMySQL_evaluation</a>.<br></blockquote><div><br></div><div>That's a great research! Under its impression I've spent most of last evening reading PyMySQL sources. It looks like it not as much need C speedups currently as plain old Python optimizations. Protocol parsing code seems very inefficient (chained struct.unpack's interleaved with data copying and util method calls that do the same struct.unpack with unnecessary type check... wow...) That's a huge place for improvement.</div><div>I think it worth spending time on coming vacation to fix these slowdowns. We'll see if they'll pay back those 10% slowdown people are talking about.</div></div>