for(……)
{
处理1;
处理2;
}
原来代码如上,一个for循环里面有要做两件事情。后续想把两件事情(处理1和处理2)抽象为方法,甚至为类,就用了两个循环遍历,改为如下:
}Stopwatch测试了一下两个运行时间一样,不知道理论上是否效率一样?
你说呢?这个为啥不自己判断一下?
当然不一样,第一个循环count次,第二个循环count*2次。至于运行时间一样,可能是内部的代码执行效率不一样。
记得在一些C++的书看到:
循环内方法比较简单,放在一起比较有效率;但方法复杂循环大,分开效率比较高。理由与cpu的代码cache机制有关
如果你的内存不是很小而且这两个操作又不会占用太大的资源的话,就不用考虑这样的问题。