店員も客も斜め上を行くデパートの福袋

結論
①例外処理のオーバヘッドはいかほどか?
②Java以外の言語ではどうか?

Javaを学んでいたときに、try catchの例外処理のオーバヘッドが大きいと聞いたことがあります。しかしながら、ファイル操作などでは使わなければならないと思います。
調べてみるとifと比較しているのは見かけましたが、そもそもifと比べるわけでは無いと思います。
例外処理を行う際の効率的な?書き方を教えていただきたいです。

A 回答 (1件)

こういうのって 0.1~5 ns とかのオーダーなので


ファイルやデータベース処理のように μs, ms オーダーの
処理に比べたら信じられないくらい速い。

だからオーバーヘッドなどは気にせず書き、プロファイラで
遅いところを見つけ、そこのみオーバーヘッドを減らす努力をします。
現実には例外処理が原因で遅くなったことはないですけどね。

高速化のほとんどは SQLのチューニングとか、ファイルやDBや
データ通信からのデータ取得のキャッシュ化とかに時間を
費やしてます。

オーバーヘッドを極度に気にしたプログラムは、判読不能なほど
読みにくくなる傾向があるので、原則、高速化を禁じる
コーディング規約を設けるプロジェクトも多いです。

ループの奥底で本当に高速化が必要な処理のみ、多少読みにくくなって
も高速化をはかることもありますが、プロジェクトリーダーの
許可を取るのが普通。

自己満足で高速化されたプログラムを書き散らすとプロジェクトから
放り出されるのでご注意を!

もちろん初歩的なアルゴリズムの選択ミスで遅くなるのは別。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報