methaneのブログ

このブログに乗せているサンプルコードはすべてNYSLです。

PyMySQL のコントリビュート始めました

MyKaze を作ってみたり、 http://www.techempower.com/benchmarks/ で PyPy を使ってみたりして、 PyMySQL の重要さを強く感じました。

libmysqlclient は non blocking IO との相性が悪いし、 MySQLdb は Python/C API をガッツリ使ってるので CPython でのパフォーマンスはいいものの逆に PyPy でのパフォーマンスは期待できません。

今後 Tornado, Tulip などと PyPy を組み合わせた高性能なサーバーを書くときには Pure Python の PyMySQL のほうが、 I/O 部分のカスタマイズや PyPy との相性で嬉しいです。

ちょうど時を同じくして、 PyMySQL のメンテナが交代し、停滞していた PyMySQL の開発が再開しました。 そこで I/O 部分をカスタマイズしやすいようにしたりインデントを統一したり Travis-CI 対応したりと ほとんど毎日のように Pull Request を送っています。

もとのメンテナからのリポジトリの移行が紆余曲折あったのですが、先ほど PyMySQL Organization に元の リポジトリを移動してもらったので、元のリポジトリにあった Issue も引き継げました。

ということで、今後 PyMySQL のメインのリポジトリは、 https://github.com/PyMySQL/PyMySQL になります。