Slow performance compared to C++, ideas?
Walter Bright
newshound2 at digitalmars.com
Thu Jun 6 11:27:08 PDT 2013
On 6/6/2013 11:11 AM, deadalnix wrote:
> It is also possible to automatically generate code like :
> if (virtualMethod == givenMethod) {
> givenMethod();
> } else {
> virtualMethod();
> }
>
> It sound like it is completely stupid, but in fact, as the compiler know the
> call you'll do, it can run optimizations.
You're right, that is a valid optimization for virtual methods. But, it is not
as good as final, because the call to virtualMethod() negatively affects the
code generation even if it is never called.
(This is because of things like function calls destroy the scratch registers,
meaning that variables can't easily be enregistered into them.)
More information about the Digitalmars-d
mailing list