On Sun, 18 Dec 2011 19:25:09 +0100 Juan Jose Garcia-Ripoll <juanjose.garciarip...@googlemail.com> wrote:
> - INLINE declarations now actually cause the function to be inlined. If > the function is also proclaimed as INLINE, ECL will store a copy of its > definition for later use _in other files_. Otherwise INLINE declarations > remain local to the file being processed. > > I know it is a shamed that this was not done before, but better late than > never :) > > More or less it works as follows: > > * In declarations, it instructs the compiler to inline FLET/LABELS forms. > > * In DECLAIM, it instructs the compiler to inline further appearances of > the function, but only in that file. > > * In PROCLAIM, it instructs the compiler to inline all occurrences of the > function in that file and also in subsequent ones. In this case ECL keeps a > copy of the definition in the compiled file for further use. Nice! At times I remember using macrolet instead of flet/labels in cases where the inlining was worth it performance-wise (and code readability/complexity maintained), as I had noticed flet/labels generated actual functions and calls, despite inline declarations. If I remember SBCL inlines flet/labels by default, yet I'm unsure if this is always done or only for small functions, I assume the latter. Is inlining also possible for setf functions? Thanks, -- Matt ------------------------------------------------------------------------------ Learn Windows Azure Live! Tuesday, Dec 13, 2011 Microsoft is holding a special Learn Windows Azure training event for developers. It will provide a great way to learn Windows Azure and what it provides. You can attend the event by watching it streamed LIVE online. Learn more at http://p.sf.net/sfu/ms-windowsazure _______________________________________________ Ecls-list mailing list Ecls-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ecls-list