On 30.01.2011 12:36, Paul Ishenin wrote:
30.01.2011 15:45, Sven Barth wrote:
Only one minute slower in the complete run instead of four. I let you
guys decide whether this is good enough ^^

How often is the compiler compiled completly during a make cycle?
I still see an ability to optimize your implementation.

procedure update_unit_symtable_options;
var
st: tsymtable;
begin
st:=owner;
while not(st.symtabletype in [globalsymtable,staticsymtable]) do
st:=st.defowner.owner;
if objecttype in [odt_classhelper,odt_objccategory] then
include(st.tableoptions,sto_has_classhelper);
end;

remove "if objecttype in [odt_classhelper,odt_objccategory] then" from
this routine to outside - so you will not need to scan owners in the
loop for all object types.

Sorry, but I don't understand your intention here.
The if-clause is only run after the global- or staticsymtable this class belongs to is reached. Or do you mean something completly different?

Regards,
Sven
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to