On 05/20/2010 02:47 PM, bearophile wrote:
Michel Fortin:

Devirtualization is only possible in certain cases: when the
function knows exactly which type it'll get.<

You are wrong, in most cases there are ways to de-virtualize, even
when the runtime type isn't exactly known, but sometimes to do it you
have to work too much. This is probably why C# dotnet doesn't perform
this optimization.

If we get deeper into this branch, we'll forget where we started from (are interfaces sensible for this design?) and we'll reframe the interfaces vs. no interfaces decision into a speed loss vs. no speed loss decision. There are other arguments to look at besides performance.


Andrei

Reply via email to