2006-09-10

Java DWARF Reader

ELF情報を読むクラスは作ったので、DWARFリーダに挑戦。

とりあえず.debug_abbrevと.debug_infoを読むところはできた(階層構造を復元したり、型の名前を復元したりするところはまだ)。
ただ、実行速度が遅いのでちょっとがっかり。14.5MB(デバッグ情報は10MBくらい。でかいなあw)ほどの実行ファイルを解析するのに25秒くらいかかってしまう。

そこでJavaのプロファイラを探してみたのだけど、NetBeansと組み合わせて使えるものが出ていたのね。ついでにバージョンも4.1から5.0に上げておいて、さっそく計測〜
測定手順は思っていたよりは遥かに簡単。ていうか、Javaはデバッグ機能もろくに使ってない(printlnデバッグがメイン)から、妙に感動してしまった。
で、20-80の法則とまではいかないけど顕著なボトルネックがあったのでさっそく改造予定。

0 件のコメント: