picowsのパフォーマンス
とりあえず動かすこと優先で。
メモリリークとかcloseし忘れによるCPU食いつぶしなど直した。
abで-c 100 -n 100000ぐらいで回すとこれぐらい。
helllo world ベンチ
nginx | 3651.08 (#/sec) |
picows | 3394.99 (#/sec) |
両方ともCPUは全開で回ってる。
nginxはworkerなしで静的ファイルでpicowsと同じ文字列を送っている。
もちろんnginxはファイルにアクセス(といってもsendfileで送ってるか)したりとかしてるので内容的には同じではないけど。
picowsはPythonのAPIをガシガシ呼んでる箇所があるのでそこで少しオーバヘッドがあるかも知れない。
ただし、nginxはログも出力している。picowsは吐いてない。
(エラーは仮にPyErr_Printで出してるけど)
nginxはログを出力しててもCPUをうまく使いきってるので同じようにすればそこまでパフォーマンスを落とさずにロギングできるかも知れないなあ。