一応マジメに仕事やってますよ?

今の仕事は二つのライブラリの比較テストおよび統合。同じことをやるライブラリを同一部署にて2つも作ってしまったという。や、もうちょっと管理しろよといいたくなるけどまあそうなってしまったのなら仕方がない。その二つのライブラリがどちらがどの程度優れているかを測定し、それぞれ優れた部分を選び、場合によっては新しく付け加えたりして一つのライブラリにまとめるのが今回の仕事。というわけで二つのライブラリのソースとその手の内容の最新の論文を渡された。とりあえず論文は後回しでまずはソースを読むことから開始。私はどうしても理論派なのでベンチマークでゴリゴリするより根本を解析して速さを見積もる方が肌にあっているんですよね。というわけで現在解読中です。
ソースを書いた人は二人とも目の前に座っているので躓けばいつでも聞けるのだがまあ二人とも自分の仕事があるのだから無闇に聞くのも邪魔というもの。極力自分で読み通しましょう。まあ、ソース読むの好きだし(^^;
ちなみに、何気にちゃんとした部署内でのソースを読むのは初めて。どんなソースかとわくわくしておりました。
さて、現在は一人目のWさんのソースを解読中。見た感じ、CからC++に入った感じだ。関数の頭に全変数が宣言されている。これは読むのが大変そうだ。まあでもこれはメモしまくればいいだけなのでたいした問題ではない。ちょい困ったのはハンガリー表記でないこと。たいした問題ではないと思っていたけどそうでもなかった。別にintかshortかdoubleかとかは問題ではないけど基本型かポインタかポインタのポインタかは見分けられないと結構つらい。特に今回はボクセルなので基本3次元配列、ていうか、ポインタのポインタのポインタです(^^; まあそれでも普通に3次元につかってくれればいいんですがどうやらWさんは手動最適化が得意なようでいたる所でポインタ取り出しを行なっていてスライス(2次元配列)やライン(1次元配列)に変わったりして結構ややこしいことになってます。こうなってくると頭にpを次元分だけつけていてもらいたかったところ(^^; しかし他は非常にキレイなソースで読みやすいです。コメントが日本語と英語がちゃんぽんになってたりしますが(^^; 中国語が入っていたらどうしようかと思ったけど流石にそれはなかった(Wさんは中国人です)
というわけで、1000行程のソースですが今週中には読み終わるでしょう。


・・・あれ?今日金曜日?