http://d.hatena.ne.jp/masa-k/20090427/1240805446
http://d.hatena.ne.jp/masa-k/20090428/1240881938
アキラさんに戴いたコメントも尤もな話で、間の思考を端折って短絡的に「そんなことにこだわるくらいなら .NET 使うなよ」と結論付けてしまったのは私の怠慢ですね。最初からちゃんと書くべきでした。
もちろん、マネージドであってもパフォーマンスチューニングは重要です。
ただ、 null チェック( if 文)ひとつのコストを考慮しなきゃいけない場面と云うのはそうあるものじゃないし、そこを考慮する前にやるべき事がたくさんあるだろう、と云うのが私の主張。
で、そう云った前段の考慮を諸々やった上で、なおそこ( = if 文と try/catch のコスト差の様なところ)まで考慮しなきゃいけない様なクリティカルなシステムなら、マネージドを使うのをやめた方が余程費用対効果が高いんじゃないの? と。
http://blogs.wankuma.com/naka/archive/2009/04/27/172140.aspx
この辺の話です。
ローレベルなこだわりってのは非常に大事です。
実際にアセンブリコード見て最適化するのか?ってのとは全く違うレベルで。
それは誰かのいうエセ思考実験っとは全く違って、本当の”理屈”を理解するため。
#出来てるのか?とかいうツッコミは勘弁して><
漠然とこっちの方がパフォーマンス良さそう。ってんじゃなくってこっちはこんなコストがある、あっちはこんなコスト。全体を勘案してこっちと言うためには知らないとね。
ベタな仕事じゃなくってこうやってコミュニティでやってることなんだから、掘り下げすぎで怒られることもないのでいろいろやってみると良いと思うのです。