[Ecls-list] Status of function call code

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Wed Feb 18 15:40:19 UTC 2009

This is the latest comparison (OS X, gcc 4.0)

*** ECL new_cfun
CALL-FUNCTION   COMPILED-FUNCTION      real:  102ms run:  102ms
CALL-SYMBOL     COMPILED-FUNCTION      real:  164ms run:  165ms
CALL-FUNCTION   GENERIC-FUNCTION       real: 2115ms run: 2131ms
CALL-SYMBOL     GENERIC-FUNCTION       real: 2191ms run: 2207ms
CALL-FUNCTION   INTERPRETED-FUNCTION   real: 2972ms run: 3012ms
CALL-SYMBOL     INTERPRETED-FUNCTION   real: 3128ms run: 3167ms
*** SBCL
CALL-FUNCTION   COMPILED-FUNCTION      real:   37ms run:   36ms
CALL-SYMBOL     COMPILED-FUNCTION      real: 1383ms run: 1391ms
CALL-FUNCTION   GENERIC-FUNCTION       real:  127ms run:  128ms
CALL-SYMBOL     GENERIC-FUNCTION       real: 1364ms run: 1369ms
CALL-FUNCTION   COMPILED-FUNCTION      real: 1081ms run: 1088ms
CALL-SYMBOL     COMPILED-FUNCTION      real: 1106ms run: 1114ms
CALL-FUNCTION   GENERIC-FUNCTION       real: 2045ms run: 2059ms
CALL-SYMBOL     GENERIC-FUNCTION       real: 2047ms run: 2056ms
CALL-FUNCTION   INTERPRETED-FUNCTION   real: 2233ms run: 2247ms
CALL-SYMBOL     INTERPRETED-FUNCTION   real: 2245ms run: 2257ms

To be also compared with

*** ECL master
CALL-FUNCTION   COMPILED-FUNCTION      real:  172ms run:  174ms
CALL-SYMBOL     COMPILED-FUNCTION      real:  190ms run:  191ms
CALL-FUNCTION   GENERIC-FUNCTION       real: 2290ms run: 2307ms
CALL-SYMBOL     GENERIC-FUNCTION       real: 2307ms run: 2320ms
CALL-FUNCTION   INTERPRETED-FUNCTION   real: 2910ms run: 2947ms
CALL-SYMBOL     INTERPRETED-FUNCTION   real: 2942ms run: 2977ms

Interpreted and generic function calls benefited from the original
code, because internally they do not use C calling conventions but
rather ECL's own stack frames. OTOH, the new function pointer seems to
speed up ordinary function calls. The code to make the comparison is


Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28009 (Spain)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: time-calls
Type: application/text
Size: 2929 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20090218/e9cd7ad8/attachment.bin>

More information about the ecl-devel mailing list