簡単な質問: C# asp.net コードの空白行は、ファイル サイズが大きいため、パフォーマンスに悪いですか? または、これはコンパイルによって処理されますか? この場合、どのような圧縮技術が利用できますか?
4 に答える
コード ビハインドまたは C# コード ファイルに空白がある場合、それらはコンパイルでカウントされません。
.net フレームワーク コンパイラなどの最新のコンパイラは、コードのコンパイル中に空白やその他のコメントや句読点を削除します。
このプロセスは トークン化とも呼ばれます。これにより、コンパイル前にコードから不要なものが削除されます。削除とは、コード ベース ファイルから削除するのではなく、コンパイルの対象として考慮しないことを意味します。
「;」がある場合のコード内の SO コンパイラはそれをコンパイルの行末と見なし、次の文字が一致するとコンパイルの新しい行と見なします。
編集(@Jigarに感謝):
コンパイルされたコードの実行時間に違いはありません。
空白/コメントの量が多すぎると、コンパイラがトークン化するのに少し時間がかかる場合がありますが、C# コンパイラは、構文的に重要ではない空白を気にしません。
プレゼンテーション レイヤーについて: 考慮事項は、サーバー側の影響ではなく、おそらく転送とレンダリングです。
ページが小さいほど、転送とレンダリングが高速になります。
そこには多くの「縮小」戦略がありますが、パフォーマンスの向上は、デバイス、接続、負荷、ページサイズなどの他の多くの要因に依存します.
圧縮されたリソース (スクリプト、json データ、さらには HTML) を提供し、クライアントにアンパックしてレンダリングさせることで、伝送オーバーヘッドを削減することはやや一般的です。このような
尋ねる価値のある質問: より少ない作業でより多くの利益をもたらす他の領域はありますか?
クライアントの観点からパフォーマンスを分析し、合理的な推奨事項を作成する多くのページ速度ツールがあります。いくつかのウェブベースのもの:
C# コンパイラは空の改行を考慮しません。これらは C# コンパイラによって省略されます。これはコードのパフォーマンスには影響しません。
これがあなたを助けることを願っています...
空白行は実際には1 文字か 2 文字です (行全体でスペースまたはタブを明示的に使用していない場合 (:)))、サイズがパフォーマンスを低下させたとしても、ファイルが著しく大きくなることはありません。