2007年12月31日

行く年来る年。

commit数は全部会わせて783。行数はどうやって測ってるんだろう?。

学校的にはCPU実験、演習3、院試、ICPC、卒研。色々勉強した。周りの人が神ばっかりなので(特に研究室)、環境には相当満足。nyaたんとushたんとは去年の11月ぐらいから日曜日を使ってコンスタントに練習会をしていた。結果も出て良かった。2人以外にもICPC周りの方々には色々と学ばせてもらってので感謝。

PFI 的にはプロダクトを安定化させる事に命を費やした。実際にサービスに使って頂いているので、絶対にコード修正を失敗してはいけないという中でバグ修正と機能追加を行っていく。しつこいまでのエラー処理とレビューはとにかく必須。お陰で多少ネットワークが安定してなかったり、ノードがフェイルしても正常な状態で動き続けるようになった。2年前Yamakenさんに色々と叩き込んでもらった事を今更ながら実感した年に。ほんとあの時は有難うございました。

書いてたプログラムとしてはC++ばっかり。ほとんどはマルチスレッドプログラム。デッドロックとか止まるだけまだましなバグだよねー?とかそんな。Pythonをちょっとかじったけど、もう忘れた。

あと今年は「なんで今まで使ってなかったんだろう」という経験が多かった気がする。screen, Solaris(DTrace), Twitter(twit), google perftools, flymake等など。あと昔に比べて勉強会等に足を運ぶことが少なくなったので、それは反省点。

来年はさらにOS・ネットワーク・分散システムにどっぷり浸かっていこう。スイッチやルーターの設定は早めに覚えたいなぁ。

それでは皆様、良いお年を。来年もよろしく。

2007年12月19日

- google-perftoolsを別のCPUに移植してみた

今更ながらyupo先生もgoogle perf toolsについて書かれているのを発見。はてブ万歳。LDR見落としたっぽいな・・・。

2007年12月17日

GooglePerfToolsの使い方

- google-perftools - Fast, multi-threaded malloc() and nifty performance analysis tools
- 肥え続けるTomcatと胃を痛めるトラブルハッカー
- ローテクなメモリ使用量監視方法

PFIでは毎週1人適当な話題で発表しているのですが、この間「GooglePerfToolsの使い方」という軽いお題で発表した資料を公開してみます。特にC++で長期運用中のメモリリークに苦しんでおられる方は必見。基本的にドキュメントの日本語訳ですがね!SlideShareだとなぜか図がずれる。元ファイルはこちら

google perf toolsのheap profiler機能は秀逸で、ある時点とある時点を比較して、どの関数がどのぐらいmallocしてメモリ使用量を増加させたかというのが一瞬で分かります。またそれを可視化する事もできます。さらにランタイムオーバーヘッドも少ない(間隔を指定できる)ので、運用しながらログを取ることも許容の範囲内だと思います。

性能に関してもSTLを使用しているアプリケーションに関しては細かいアロケーションが鬼のように発生するので、glibc mallocを使用したmultithreadアプリケーションの場合、malloc内部のロックがボトルネックになる場合があります。これはSolarisのplockstate(dtraceのwrapperコマンド)等により実際に確認することが出来ます。tcmallocはその辺りを解決しているので、Makefile.amに-ltcmallocを付け加えるだけで簡単にアプリケーションのスループットが向上しました。

また、glibc標準のアロケーターだとメモリフラグメンテーションで予想以上のメモリを食ってしまう事が有るようです。某検索エンジンでも稀にその状況が発生する事が有って、アプリケーション側のバグだと思い3ヶ月間ずっとコードとにらめっこしていたのですが、結局アロケーターが悪いという結論に陥りました。もっと早くGooglePerfToolsを知っていたら胃に穴が開くことも無かったでしょう。

という訳でみんなGooglePerfTools使うといいよ!

Google => アロケーター作ってる会社

中の人ありがとう!

2007年12月14日

blogeye

blogeye: ブログを通して社会をのぞく

ohkura先輩による「何でも早期発見システム」

kizasi.jpへのリンクも張っておこう。クロール量はkizasiより多いみたい。流行ってるワードの精度は僕は世間から乖離してるので不明。

ACミランの男性比が高かったり、忘年会の10代比が低かったりするのは面白い。さすが。

# しかしブログ検索よりは面白いけど、へーと納得して終わってしまう・・・。
# 何か面白い見せ方出来ないかなぁこれ。

2007年12月06日

CPUの進化 = クロックの上昇

Intel Blog Partsを張ってからというもの、会う人会う人に「勝った勝った♪」と言われる日々が続いています。

今のところ戦績は「84戦25勝59敗」です。

これは性能だけ見るとCore2Duo 1GHz不買プロモーションですねorz (一応低電圧版なので電池長持ち)。

2007年12月04日

Windows Vista

遂に手元にWindows Vistaマシンがやって来ました。

あんまり嬉しい感じがしないのはなんででしょ。

とりあえずcrtlとcapslockをswap。

e-mobile, putty, firefox, noah, greenpad, virtual winを入れて実戦投入完了。

# 右のIntel Blog Partsにマウスを乗せると僕の新しいマシンと処理能力が競えます(Core2Duo U7500 @ 1.06GHz)。何回かリロードして、ブログオーナー「YOU」と戦うと出たらYESを押してください。それ以外の場合は無理やりC2Dのデータと戦わさせられるみたいです。うぜぇ。