[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
*** CLISP
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
attached.

Juanjo

-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28009 (Spain)
http://juanjose.garciaripoll.googlepages.com
-------------- 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