[解決済み] C#のtry/catchの本当のオーバーヘッドは何ですか?
2023-01-22 21:44:11
質問
try/catchはオーバーヘッドを追加するので、プロセスフローを制御する良い方法ではないことは知っていますが、このオーバーヘッドはどこから来て、実際にどのような影響があるのでしょうか?
どのように解決するのですか?
私は言語実装の専門家ではありませんが (だからこれを大目に見てください)、最大のコストの 1 つは、スタックを展開してスタック トレースのためにそれを保存することだと思います。 これは例外がスローされたときにのみ発生すると思いますが (しかし、私は知りません)、もしそうなら、これは例外がスローされるたびにきちんとした大きさの隠れたコストになります... つまり、コード内のある場所から別の場所にジャンプするだけとは異なり、多くのことが起こっているのです。
EXCEPTIONAL動作のために例外を使用している限り、問題ないと思います(つまり、プログラムを通じて典型的な、期待される経路ではありません)。
関連
-
[解決済み】「The breakpoint will not currently be hit」を改善するには?このドキュメントにはシンボルが読み込まれていません。" という警告はどうすれば改善されますか?
-
[解決済み] DBNullから他の型にオブジェクトをキャストすることができない
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] Python 3で「1000000000000000 in range(1000000000000001)」はなぜ速いのですか?
-
[解決済み] 複数の例外を一度にキャッチする?
-
[解決済み] IDisposable インターフェースの正しい使用法
-
[解決済み] Try-catchは私のコードをスピードアップさせるか?
-
[解決済み】大文字・小文字を区別しない「Contains(string)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー。「戻り値を変更できません」 C#
-
[解決済み】WebForms UnobtrusiveValidationModeは、jqueryのScriptResourceMappingを必要とする
-
[解決済み】パディングが無効で、削除できない?
-
[解決済み】プロジェクトビルド時のエラー。エディタでスクリプトにコンパイルエラーがあるため、Playerのビルドにエラーが発生する
-
[解決済み] DBNullから他の型にオブジェクトをキャストすることができない
-
[解決済み】"指定されたパスのフォーマットはサポートされていません。"
-
[解決済み】Moqを使用してメソッド呼び出しを検証する
-
[解決済み】Visual Studio: 操作を完了できませんでした。パラメータが正しくありません
-
[解決済み】例外をスローしない場合、try/catchブロックはパフォーマンスを低下させるか?
-
[解決済み】辞書にキーが含まれていない場合に例外をキャッチするのではなく、辞書にキーが含まれているかどうかを確認する方が速いのはなぜですか?