for 循环性能比较 提高for循环的效率_javascript技巧
程序员文章站
2022-05-06 18:11:50
...
for(int i=1,n=tempUser.length;i for(int i=1,;i 习惯for(int i=1,;i 我当即就测试了一下,发现果然性能比较起来差别很小,甚至后者更高效一点。
虽然得出这样的结果,但和自己心里想的确完全相反的。所有当然就回复说差不多。
今天又发现一位前辈的blog中正好有对这个帖子的回应。他做了测试,内容大致是前面的帖子的问题应该是差不多的,但是他又更深入的进行测试,得出:在有情况for(int i=0;i所有我也做了一下测试:
class Program {
static void Main(string[] args) {
string s;
s = Console.ReadLine();
while(s != "0") {
Person p = new Person(10000000);
Console.WriteLine("for(int i=0;iConsole.WriteLine("Starting...");
long l1 = DateTime.Now.Ticks;
for(int i = 0; i //Console.Write(lenArray[i]);
}
long l2 = DateTime.Now.Ticks;
Console.WriteLine("Ending.\nTime is : " + (l2 - l1).ToString());
Console.WriteLine("for(int i=0,n=lenArray.length;iConsole.WriteLine("Starting...");
long l3 = DateTime.Now.Ticks;
for(int i = 0, n = p.Child.Alias.Length; i //Console.Write(lenArray[i]);
}
long l4 = DateTime.Now.Ticks;
Console.WriteLine("Ending.\nTime is : " + (l4 - l3).ToString());
s = Console.ReadLine();
}
Console.Read();
}
}
虽然得出这样的结果,但和自己心里想的确完全相反的。所有当然就回复说差不多。
今天又发现一位前辈的blog中正好有对这个帖子的回应。他做了测试,内容大致是前面的帖子的问题应该是差不多的,但是他又更深入的进行测试,得出:在有情况for(int i=0;i
复制代码 代码如下:
class Program {
static void Main(string[] args) {
string s;
s = Console.ReadLine();
while(s != "0") {
Person p = new Person(10000000);
Console.WriteLine("for(int i=0;i
long l1 = DateTime.Now.Ticks;
for(int i = 0; i //Console.Write(lenArray[i]);
}
long l2 = DateTime.Now.Ticks;
Console.WriteLine("Ending.\nTime is : " + (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 //Console.Write(lenArray[i]);
}
long l4 = DateTime.Now.Ticks;
Console.WriteLine("Ending.\nTime is : " + (l4 - l3).ToString());
s = Console.ReadLine();
}
Console.Read();
}
}
其中数据量越大,类越大,差别越明显。
结论:影响应该在,变量在每次循环都要访问下一级变量的原因。如果只是简单的a.length可能编译器对这样的循环操作有优化,将a.length保存到了内存或一个比内存更块的地方,而多级就没有这么幸运了。
我们都知道for(int i=0;i
推荐阅读
-
利用函数的惰性载入提高javascript代码执行效率_javascript技巧
-
有效提高JavaScript执行效率的几点知识_javascript技巧
-
for 循环性能比较 提高for循环的效率_javascript技巧
-
JavaScript判断是否为数组的3种方法及效率比较_javascript技巧
-
利用函数的惰性载入提高javascript代码执行效率_javascript技巧
-
有效提高JavaScript执行效率的几点知识_javascript技巧
-
JavaScript判断是否为数组的3种方法及效率比较_javascript技巧
-
for 循环性能比较 提高for循环的效率_javascript技巧
-
JavaScript判断是否为数字的4种方法及效率比较_javascript技巧
-
提高javascript开发速度和效率的20个小技巧