ここにコードがあります!if else文について
はCODE1:
if(false) {
//1000 lines of code
}
else {
//1 line of code
}
コード2:
if(false) {
//1 line of code
}
else {
//1 line of code
}
2つのコード上での処理時間がどうなりますか?説明してみてください...
ここにコードがあります!if else文について
はCODE1:
if(false) {
//1000 lines of code
}
else {
//1 line of code
}
コード2:
if(false) {
//1 line of code
}
else {
//1 line of code
}
2つのコード上での処理時間がどうなりますか?説明してみてください...
ok okこれはパフォーマンスに関して非常に良い質問です。
短い回答:同じ速度で実行されます。
コンパイラ、それはあなたのコードを遵守したときに、なぜ条件はコンパイラがプロセッサを要求されますfalseの場合には、1行でif
でRAM
に低レベルのプロセッサコマンドの束である言語をmechineためにそれを翻訳します1行をジャンプするには、プログラムカウンタを1つ増やしてif
ブロックを無視し、代わりにelseブロックを実行します。オーバーヘッドはプログラムカウンタを増やすための1つのコマンドに見えます。
program counter
はそれだけでelse
ブロックを実行するためにif
ブロックをジャンプして1000年にプログラムカウンタを増やすだけで同じになりますライン1000年にあなたが
を実行し、if
にしている回線たセーブレジスタです。 1つの操作でオーバーヘッドは同じです。
それでもelse
と同じですが、条件が真の場合は同じif
ブロックが実行され、else
ブロックがジャンプします。
解析のバリエーションを無視する:基本的には処理の場合と同じで、 '1行のコード 'が同じであると仮定します。ifの評価を実行し、その1行のコードを実行します。それらの1行のコードが異なる場合、評価に時間がかかります –
文字列の長さはどれくらいですか? – Darren
あなた自身でテストしてみませんか – Danijel