import profile def fib(n): # from http://en.literateprograms.org/Fibonacci_numbers_(Python) if n == 0: return 0 elif n == 1: return 1 else: return fib(n-1) + fib(n-2) def fib_seq(n): seq = [ ] if n > 0: seq.extend(fib_seq(n-1)) seq.append(fib(n)) return seq print 'RAW' print '=' * 80 profile.run('print fib_seq(20); print') $ python profile_fibonacci_raw.py RAW =====================================
概要 最近、あるお客さんから、快速なので、cjsonを使おうという要望をいただきましたが、以前、僕はcjsonは色なエッジケースの処理が微妙と分かっていて、実際に他のライブラリより早いのかなと思いました。cjsonのPyPIページいろなコメントが書かれています。しかも、最新パージョンは2007リリースでかなり古い。バグがあるのに、直っていないし、あんまりメンテしてないライブラリに見える。 simplejsonもjsonlib もCで拡張があり、かなり最適化されていると思ったので、テストしてみようと思いました。 というわけで、パフォーマンステストを作って、Bitbucketにアップしました https://bitbucket.org/IanLewis/jsonlib-test 準備 buildoutを使って、環境を作ります テストを実行 ./bin/run_testを実行します。オプションは
しばらくベンチマークコードを書いてなくてすっかり忘れていたので、メモ書きです。今回は例題として、yahooのこのページをBeautifulSoupとlxmlでのスクレイピング比較をしてみる事にしました。比較対象の関数は以下の通りです。どちらのコードも入力・出力ともに同じなので、どちらが実行時間やメモリ使用量が少ないのかを知りたくなりますね。 # BeautifulSoup def scrape_with_bs(html): from BeautifulSoup import BeautifulSoup soup = BeautifulSoup(html) rows = soup.find('table', attrs={'class':'channel9'}).findAll('tr') channels = rows[0].findAll('td', attrs={'class':'st
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く