forloop_javascript スキルの効率を向上させるための for ループのパフォーマンス比較

WBOY
リリース: 2016-05-16 18:55:14
オリジナル
1315 人が閲覧しました

for(int i=1,n=tempUser.length;i for(int i=1,;i 私は for(int i=1,;i すぐにテストしたところ、パフォーマンスの差は非常に小さく、後者の方がさらに効率的であることがわかりました。
このような結果になりましたが、思っていたこととは全く逆でした。もちろん、答えはほぼ同じです。
今日、この投稿に対して反響のある別の先輩のブログを見つけました。彼はテストを行い、大まかには前回の問題と同様の内容になるはずですが、より詳細なテストを行った結果、次のような結論に達しました。 length;i) for(int i=0,n=a.b.c.length;iテストも行いました:

コードをコピーします コードは次のとおりです:
クラス プログラム {
static void Main(string[] args) {
string s;
s = Console.ReadLine();

while(s != "0") {
人 p = 新しい人(10000000);

Console.WriteLine("for(int i=0;ilong l1 = DateTime.Now.Ticks;

for(int i = 0; i < p.Child.Alias.Length; i ) {
// Console.Write(lenArray[i]);

}
long l2 = DateTime.Now.Ticks

Console.WriteLine("Ending.nTime は : " (l2 - l1) ).ToString());

Console.WriteLine("for(int i=0,n=lenArray.length;i
long l3 = DateTime.Now.Ticks;
for(int i = 0, n = p.Child.Alias.Length; i < n; i ) {
/ /Console.Write(lenArray[i]);

}
long l4 = DateTime.Now.Ticks;
Console.WriteLine("Ending.nTime は : " (l4 - l3) ).ToString());
s = Console.ReadLine();
Console.Read()
}


; >


データ量が多いほどクラスが大きくなり、違いがより明確になります。

forloop_javascript スキルの効率を向上させるための for ループのパフォーマンス比較

結論:

影響は、変数が各ループで次のレベルの変数にアクセスする必要があることです。単純な a.length だけであれば、コンパイラはそのようなループ操作を最適化し、a.length をメモリまたはメモリよりも大きな場所に保存した可能性がありますが、マルチレベルではそれほど幸運ではありません。 for(int i=0;i

関連ラベル:
for
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート