研究室の先輩が、私の隣の席の子にプログラムを送付し、実行してもらうことがありました。先輩はVC6でビルドしていたのですが、そのせいかは未だはっきりしていませんが、隣の子は実行できませんでした。DLL周りのエラーでもないようで、実行してもうんともすんとも言わず、意味不明でした。
ですので、隣の子の環境でソースコードからビルドしたらどうかという話をし、先輩はソースコードを隣の子に送付しました。
数日後、どうなったか気になったので、
私「ソースからビルドしてみた?」
と聞いたのですが、
女の子「ソースって何ですか?」
と聞き返されました。
私「いや、こないだ先輩が送ってきたプログラムのソースの事やって。」
と言ったのですが、
女の子「これですか?」
といい、実行ファイルを見せてきました。
私「あ、いや…ソースコードのことやって。」
女の子「んー…ソースコードってプログラムのことじゃないんですか?」
…絶句。
いやーだからね…といいながら、ビルドだのコンパイラだのリンカだの単語がいくつも浮かびつつ、これを一つ一つ説明せにゃならんのかー!とあっけにとられたのですが、VCのプロジェクトファイルを見つけるなり、なんとかソースコードとは何なのかを理解した様子。
そういえば、以前にもknpとCabChaの処理速度比較を、ほぼ同時に実行させて終了する時間を目で見て行っているところをみたことがあります。このときCaboChaが後に終了してしまい、
女の子「CaboChaって遅いですよね」
とか言い出しました。適当な説明が浮かばなかったので、
私「うーん、そうかなぁ…」
と適当に濁しておきました。実際、OSによるページングやOSのスケジューリング、もっといえばハードウェアレベルでのメモリキャッシュなどの制御なども絡んでくるので、同等の処理を何千回も行わせたベンチマークを行った方が良いような気がするのですが。比較の仕方があまりにもプリミティブで、安直な結論を出すのでびっくりしたことがあります。
大学院行くんだったら、もうちょい基本的な事を勉強してくれよとか思いました。
No comments:
Post a Comment