On Wed, Oct 20, 2010 at 01:45, Michael Van Canneyt <[email protected]> wrote: > What can be optimized, must be optimized. Sorry, but does not this sound slightly exaggerated? :-)
>> 2) I may believe that records are faster then classes, >> but if they are faster then objects, then this is a compiler problem, >> since there should be literally no difference except the VMT pointer >> memory overhead. Actual usage of virtual calls may cause a slowdown, >> but it also may cause a speedup if it replaces a 'case' statement, >> which is usually so. > > The VMT is not the point. > Objects are zeroed out. You are wrong. The code below outputs random garbage, not zeroes. type T1 = object x, y: Integer; end; procedure P; var obj: T1; begin Writeln(obj.x, obj.y); end; begin P; end. > It sounds like you give us little credit. Sorry for that and thanks you for your work. But, by the same token, don't you think that you also give a little credit to Hans' work? Maybe his reasons are also good? > Most things happen for a reason; You just don't know the reason. I fully understand that the reason for degrading the code structure was efficiency. I just doubt that it was/is a good trade-off. -- Alexander S. Klenin _______________________________________________ fpc-devel maillist - [email protected] http://lists.freepascal.org/mailman/listinfo/fpc-devel
