2017-08-15 45 views
1

私は非常に基本的な配列を持っています。この配列には、ユーザーがボタンを押すかどうかによって値が付加されます。関数は、私のアプリケーションのviewDidLoad()メソッドで呼び出され、配列の値に応じて機能を実行します(これは、私が見ているインデックスによって異なりますが、明らかに最初のインデックスに集中します)。 "Yes"/"No"、String、またはtrue/false、boolのアレイを追加することができます。この関数は比較的簡単なので、これは大きな問題ではないかもしれないと認識していますが、私ができる限り最適化しないのはなぜですか? if(またはswitch)の文でboolの比較がstringの比較よりも速いかどうかを確認するのが速いのですか?それともそれ以外の方法ですか?文字列を読み込むよりも速く読み込みますか?

+0

質問の内容から推測された 'android'タグと' java'タグを追加しています。 – Thomas

+0

iOS開発の質問のように見えるので、 'android'と' java'タグを削除しました。 –

答えて

3

文字列内のすべての文字を比較して一致または不一致を見つけなければならないように、正確に1の値(たとえば0 = 0または0 = 1)を比較するので、パフォーマンスがブール比較を行う方がよいでしょう。

TL:DRブール値の比較は文字列比較

1

よりも高速であるブール値を読むことではなく、比較よりも、偽/例えば真の本質的バイナリオプションであるため、それは文字列の比較を行うよりも高速です。このシナリオではそれほど重要ではありませんが、ずっと大きな計算のためにブール値を読むことは確かに有益でしょう。

1

あなたが質問した質問に答えるには - はい、文字列を比較するよりもboolを比較する方が効率的です。

質問に答えるには、ボトルネックがある場所でパフォーマンスを最適化し、どこでもシンプル/可読性/保守性を最適化するようにします。その部分がボトルネックかどうかわからない場合、その部分を測定する方法を学びます。

この特定のケースでは、効率的で簡単なケースは同じかもしれませんが、まさに疑問が誤っています。重要でないところでパフォーマンスを最適化しようとしないでください。

関連する問題