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