[Ecls-list] function_dispatch
Matthew Mondor
mm_lists at pulsar-zone.net
Sun Jan 24 10:07:05 UTC 2010
Since there were recent threads on optimizations, I thought I'd share
this I noticed lately:
CVS ECL (v10+) seems to indirect many function calls to another
function, function_dispatch(), which doesn't seem to be the case in v9;
I've not benchmarked the difference yet but noticed that the
-march=i686 -O2 assembly result also were larger:
Although larger size may or may not always be slower, a function I
compared, port_wait(), for instance yields 132 asm lines on 9.8.3 yet
193 asm lines on 10.1.1.
There may of course be valid reasons for this, however; I read the
source of function_dispatch() for now and a reason for it might be to
make the code safer (it checks if the function is defined to then
dispatch via a switch-case to a type-specific internal function, for
instance).
Thanks,
--
Matt
More information about the ecl-devel
mailing list