私はアプリケーションでいくつかのパフォーマンスプロファイリングを実行しています。コンソール出力のエンコーディングをチェックするのは、アプリケーションが完全なパフォーマンスの繰り返しを実行するのに約2倍の時間がかかります。Console.OutputEncodingのチェックに時間がかかるのはなぜですか?
は私が経由してチェックしています:
Console.OutputEncoding.EncodingName != Encoding.UTF8.EncodingName
このチェックはこれなしで実行するために〜80ティック(8000 NS)、(コンソールテーブルを生成する)私の全体のアプリケーションのみをとる〜50ティック(5000 NS)を取り、数百の条件を通過します。
なぜ出力エンコードのチェックに時間がかかるのですか?これをスピードアップできますか? OutputEncoding
のゲッターのための
このfalseをlinq式に変換できるかどうかは疑問です。式がチェックしているもののコンテキストを追加できますか? –
@BenderBendingそれは単にエンコーディングをチェックしています。コンソールのエンコーディングがUTF8と等しくない場合は、UTF8に設定します。 LINQは、間接的なレベルを追加するので、おそらく遅くなるでしょう。 –
広すぎると投票したユーザーは、これが広すぎると思われる理由を説明できますか?スコープはかなりわかりやすいようです。 –