for(int i=1,n=tempUser.length;i 結論: 影響は、変数が各ループで次のレベルの変数にアクセスする必要があることです。単純な a.length だけであれば、コンパイラはそのようなループ操作を最適化し、a.length をメモリまたはメモリよりも大きな場所に保存した可能性がありますが、マルチレベルではそれほど幸運ではありません。 for(int i=0;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;i
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()
}
; >
データ量が多いほどクラスが大きくなり、違いがより明確になります。