[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