开发者

Performance difference in loop [duplicate]

This question already has answers here: 开发者_StackOverflow社区 Closed 12 years ago.

Possible Duplicate:

Difference between declaring variables before or in loop?

Is there any (or any notable) performance difference when I write for example something like this (consider loading tens or hundreds of thousands rows from DB into the collection of Foo objects):

...
Foo myFoo;

while(reader.Read())
{
    myFoo = new Foo();
    myFoo.SomeProperty = reader.GetValue(0);
    ...
    fooCollection.Add(myFoo);
}

or this

...

while(reader.Read())
{
    Foo myFoo = new Foo();
    myFoo.SomeProperty = reader.GetValue(0);
    ...
    fooCollection.Add(myFoo);
}


You're creating a new instance of Foo in each iteration of the loop in both snippets so I wouldn't expect to see a difference.

You should profile your code though, using a tool like eqatec profiler:

http://www.eqatec.com/tools/profiler


Actually the compiler will generate the same IL in each instance.

See similar questions here and here.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜