<div class="gmail_quote">On Mon Feb 02 2015 at 11:49:31 AM Julien Danjou <<a href="mailto:julien@danjou.info">julien@danjou.info</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Fri, Jan 30 2015, Yuriy Taraday wrote:<br>
<br>
> That's a great research! Under its impression I've spent most of last<br>
> evening reading PyMySQL sources. It looks like it not as much need C<br>
> speedups currently as plain old Python optimizations. Protocol parsing code<br>
> seems very inefficient (chained struct.unpack's interleaved with data<br>
> copying and util method calls that do the same struct.unpack with<br>
> unnecessary type check... wow...) That's a huge place for improvement.<br>
> I think it worth spending time on coming vacation to fix these slowdowns.<br>
> We'll see if they'll pay back those 10% slowdown people are talking about.<br>
<br>
With all my respect, you may be right, but I need to say it'd be better<br>
to profile and then optimize rather than spend time rewriting random<br>
parts of the code then hoping it's going to be faster. :-)<br></blockquote><div><br></div><div>Don't worry, I do profile. Currently I use mini-benchmark Mike provided an optimizing hottest methods. I'm already getting 25% more speed in this case and that's not a limit. I will be posting pull requests to pymysql soon. </div></div>