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

Reply via email to