Slow performance compared to C++, ideas?

finalpatch fengli at gmail.com
Fri May 31 23:54:25 PDT 2013


I actually don't feel final by default is a big deal at all. Of 
all the factors that caused the poor performance that was 
discussed in the original post, final is the least significant 
one, only caused 5% to %7 of a speed penalty in a heavily 
recursive and looping program. Because of this I think its effect 
in less demanding scenario is negligible. Those who really needs 
the extra speed can simply add final to their methods in the hot 
path.

On Saturday, 1 June 2013 at 06:35:38 UTC, Paulo Pinto wrote:
> In OO languages where methods are virtual by default, writing 
> mock classes is usually a matter of extending and overriding 
> said classes.
>
> In languages with final by default, one is forced to use 
> Assembly or bytecode rewriting tools to be able to override 
> those classes behaviour.
>
> In .NET  case the Moles/Pex frameworks from Microsoft research 
> were so loved by developers that Microsoft made it part of .NET 
> 4.5 under the name  Fake framework.
>
> The same for the C++ with frameworks like Isolator++.
>
> Of course with virtual by default it is also possible to make a 
> method
> or class as final, thus causing the same issues with mocking as 
> final by
> default does.
>
> Just my .02€ input to the discussion.
>
> --
> Paulo



More information about the Digitalmars-d mailing list