Gary King | 6 Jan 2007 21:06
Favicon
Gravatar

Re: FLEXI-STREAMS optimization mysteries

Lisp in Small Pieces is a dense, but wonderful, book (http:// 
www.cambridge.org/uk/catalogue/catalogue.asp?isbn=9780521545662).

On Jan 6, 2007, at 12:36 PM, Anton Vodonosov wrote:

> Is there some good books to read to get understanding of how Common  
> Lisp
> implementation may work, enough to have more or less right  
> expectations
> about
> different language constructs performance?

--
Gary Warren King, metabang.com
Cell: (413) 885 9127
Fax: (206) 338-4052
gwkkwg on Skype * garethsan on AIM

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Anton Vodonosov | 8 Jan 2007 02:50
Picon

Re: FLEXI-STREAMS optimization mysteries

Gary,Christophe, thank you for references.

Regards,
-Anton

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Anton Vodonosov | 6 Jan 2007 18:36
Picon

Re: FLEXI-STREAMS optimization mysteries

Edi Weitz:

>My recent experiments (not very extensive, though) seem to suggest
>that on LispWorks SLOT-VALUE is faster than accessors, at least if you
>don't disable the slot access optimizations.

Looks like in CLISP too.

Hi all.

Is there some good books to read to get understanding of how Common Lisp
implementation may work, enough to have more or less right expectations 
about
different language constructs performance?

For example, I'm quite surprised by the fact, that CLOS dispatch outperforms
direct funcalling a closure stored in a slot of class. I.e.

(defclass c-der-1 (c) ())
(defclass c-der-2 (c) ())

(defmethod m ((instance c-der-1))
 (do-something instance))

(defmethod m ((instance c-der-2))
  (do-something-else instance))

(m (make-instance 'c-der-1))
(m (make-instance 'c-der-2))

(Continue reading)

Christophe Rhodes | 6 Jan 2007 19:25
Favicon

Re: FLEXI-STREAMS optimization mysteries

Anton Vodonosov <vodonosov <at> mail.ru> writes:

> Is there some good books to read to get understanding of how Common Lisp
> implementation may work, enough to have more or less right expectations 
> about
> different language constructs performance?
>
> For example, I'm quite surprised by the fact, that CLOS dispatch outperforms
> direct funcalling a closure stored in a slot of class. I.e.
>   [...]
> Also interesting that CLOS dispatch is as if insensitive to class hierarchy
> complexity and to number of methods it should choose from.

For this, you could read "Efficient Method Dispatch in PCL" by
Kiczales and Rodriguez, which explains some of the strategies.
(There's also some detail about them in the SBCL internals manual).

> Another surprise for me is SBCL garbage collector.

There are some papers linked from
<http://sbcl-internals.cliki.net/Papers>; to understand how garbage
collection algorithms can vary, you might want to read Wilson's
bigsurv.ps or the book by Jones and Lins.

Cheers,

Christophe

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
(Continue reading)


Gmane