2011-09-06 25 views
7

私はAndroidの開発者です。次の質問が私の頭に浮かんできました。プロセスをコンパイルするために大きなコメントを書いたとき、私たちは有用なコメントをコードに入れていますが、コンパイラはコメント部分に時間を取ることができますか?コメントはコンパイル時間に影響しますか?

もしそうでなければ、私たちのコメントの長さから何の効果も得られませんか?

答えて

21

コンパイラはコメント部分に時間がかかることがありますか?

アパート(それはいくつかのメガバイト長いコメントはありません限り、無視できるはずです)のコメントに対応するバイトを横断するのIOのオーバーヘッドから、それはそう、これまでどのような違いはありませんでしょう。ほとんどのコンパイラは、ASTにコメントを含めていないため、解析後にコメントが完全に消えてしまいます。

コンパイル時間に基づいてコメントを含めるかどうかを決定しないでください。コードをより読みやすくするかどうかを判断するだけで決定します。

さらに読書:

10

これは、これらのコメントブロックを読み込み、解析するのに時間がかかりますが、この時間は、あなたがないように短いですあなたのプログラムに(拡張された、有用な)コメントを入れないような言い訳はありません:-)

11

はい、コンパイラがより多くのテキストを読み込まなければならないため、書き込むコメントによってコンパイルが遅くなります。しかし、コメントを読むことはコンパイラにとって非常に簡単で、すぐに完了しますので、心配する必要はありません。

あなた自身で試すことができます。 という単純なソースコードを生成するプログラムを作成してください。

int i = 0; 
... 
i++; /* This is a comment, and maybe a very long one. */ 
... 

この(生成された)コメントを非常に長く、場合によってはメガバイトにすることもできます。次に、小さなコメントと大きいコメントを使用してコードをコンパイルするときの違いを測定すると、速度がまだ許容できることがわかります。

+0

コメントに特殊文字を使用すると、コンパイルが中断される可能性があります。 Java Puzzlersの例を読んでください。 – Scorpion

+0

'' UNIXの改行のために '' \/use \ u000A 'を意味しますか? ;) –

+0

あなたは私を得ました:-)。それは興味深いものでした。 – Scorpion

関連する問題