Suppose you have soemthing like this
string a = this.SomeMethodA (this.SomeMethodB (this.SomeMethodC (this.SomeMethodD (this.SomeMethodE(this.SomeMethodF("someStringTo Process"))))));
Its supposed to be evaluated backwards , and each one is evaluated once.
However in VS 2008 Beta 2, you get this
First :
Eval Method: F();
Eval Method : F() then E(); ( Note: F() got evaluated again!!).
Eval Method F() then E() then D(); (Note: F() and E() got evaluated again wasting valuable CPU Cycles and ram).
Etc..
This is the same perfomrance bug that plauged the 2005 build of VS in terms of project building, where the building would rebuild projects that is already built again as it goes up the building order. The same similar bug exist here too?
This causes valuable CPU Cycles to be wasted and its really annoying. Its slows application performance. Why this recursive pattern? why not just evaluate each sub method in the execution plan once? why evaluate it over and over again as you jump up one function in the execution plan?
Thanks.