Doge log

Abby CTO 雑賀 力王のオフィシャルサイトです

2009-09-01から1ヶ月間の記事一覧

文字列連結の効率の話

追記: ベンチ追加したふと思ったこと。 ret = ''.join([lst]) が速いというのは正しい。 でもそれはjoin関数が速いという局所的な話。ありがちなコード lst = [] for i in xrange(10000): lst.append("aaa") ret = ''.join(lst) string joinを使いたいがた…

picows その後

segvと戦いつつ、werkzeugのexampleが実行できるレベルまで持っていった。 なのでwsgi対応フレームワークはほぼ動くと思う。実装し忘れてたとこなどがあったり、なんだかんだで当初の予定よりパフォーマンスが出てない。tornadoのサイトに合わせて「ab -c 25…

速いサーバを書いても意味がないという話

全く意味がないというわけではないが。 結局アプリケーションコードが圧倒的にトロいので、サーバ側の処理部がほぼ誤差レベルになる。 レスポンス返すまでの処理時間の9割ぐらいがアプリケーションコードでとられる。 なので次はアプリケーションコードの高…

tornadoの話

話題のtornadoについてちょっと書いておきます。 フレームワークについて tornadoは一応wsgiをサポートしていますが本気で組むなら独自で持ってるAPIの方がよいでしょう。 独自のAPIの方は必要最低限な処理しかしません。 無駄なアプリケーションコードを少…

abのベンチをあげるコード

C

昨日ぐらいからcpu profilerと戦いつつ、うんうん考えてた方法。 思いついた方法と同じような事をnginxもやってて「やっぱそうなるのか」といった感じ。 で頂きました。 ぶっちゃけインチキコードじゃないかなあと思う。とりあえず、時間を引っぱる処理はそ…

picowsのパフォーマンス

とりあえず動かすこと優先で。 メモリリークとかcloseし忘れによるCPU食いつぶしなど直した。 abで-c 100 -n 100000ぐらいで回すとこれぐらい。helllo world ベンチ nginx 3651.08 (#/sec) picows 3394.99 (#/sec) 両方ともCPUは全開で回ってる。 nginxはwor…

シンプルなWSGIサーバ picows

WSGIサーバの勉強がてらシンプルなWSGIサーバを書き始めした。 まだ全然できてませんけど。 特徴 シングルスレッド 非同期 WSGIのみサポート これだけです。シンプルです。 呼び出しもシンプルでひとつのwsgi appしか載せられません。他にもシンプルな理由は…