<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Optimizing Lisp Some More</title>
	<atom:link href="http://nklein.com/2009/06/optimizing-lisp-some-more/feed/" rel="self" type="application/rss+xml" />
	<link>http://nklein.com/2009/06/optimizing-lisp-some-more/</link>
	<description>software development and consulting</description>
	<lastBuildDate>Sun, 20 May 2012 18:07:58 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: pat</title>
		<link>http://nklein.com/2009/06/optimizing-lisp-some-more/comment-page-1/#comment-149</link>
		<dc:creator>pat</dc:creator>
		<pubDate>Tue, 07 Jul 2009 03:04:17 +0000</pubDate>
		<guid isPermaLink="false">http://nklein.com/?p=596#comment-149</guid>
		<description>Indeed.  That brought LispWorks down to 0.562 seconds and only 516 bytes allocated.

Thank you, very much.</description>
		<content:encoded><![CDATA[<p>Indeed.  That brought LispWorks down to 0.562 seconds and only 516 bytes allocated.</p>
<p>Thank you, very much.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: malkia</title>
		<link>http://nklein.com/2009/06/optimizing-lisp-some-more/comment-page-1/#comment-138</link>
		<dc:creator>malkia</dc:creator>
		<pubDate>Thu, 02 Jul 2009 20:52:10 +0000</pubDate>
		<guid isPermaLink="false">http://nklein.com/?p=596#comment-138</guid>
		<description>For Lispworks you should make sure that you have this:

[cc lang=&quot;lisp&quot;]
  (declare (optimize (speed 3) (safety 0) (space 0)
                   (debug 0) (compilation-speed 0)
                   #+lispworks (float 0)
                   #+lispworks (fixnum-safety 0)))
[/cc]

</description>
		<content:encoded><![CDATA[<p>For Lispworks you should make sure that you have this:</p>
<div class="codecolorer-container lisp blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><pre class="lisp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">  <span style="color: #66cc66;">&#40;</span>declare <span style="color: #66cc66;">&#40;</span>optimize <span style="color: #66cc66;">&#40;</span>speed <span style="color: #cc66cc;">3</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#40;</span>safety <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#40;</span>space <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>
                   <span style="color: #66cc66;">&#40;</span>debug <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#40;</span>compilation-speed <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>
                   #+lispworks <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">float</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>
                   #+lispworks <span style="color: #66cc66;">&#40;</span>fixnum-safety <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></pre></div>
]]></content:encoded>
	</item>
	<item>
		<title>By: pat</title>
		<link>http://nklein.com/2009/06/optimizing-lisp-some-more/comment-page-1/#comment-127</link>
		<dc:creator>pat</dc:creator>
		<pubDate>Thu, 25 Jun 2009 04:36:21 +0000</pubDate>
		<guid isPermaLink="false">http://nklein.com/?p=596#comment-127</guid>
		<description>I do remember seeing the LispWorks thing about heap size, now that you mention it.

I&#039;ve got to say though... it&#039;s not a very promising way to get me to buy their product if the free edition is artificially slower.  If their products turned out to be speedy enough to compete with the free implementations, I&#039;d be much more inclined to shell out the money for them.  As it is, I can&#039;t really tell how competitive they are.

LispWorks 5-hour-per-session, no &lt;em&gt;(save-image...)&lt;/em&gt;, and non-commercial restrictions seem fine to me.  The heap size restriction?  that&#039;s just running with a ball and chain around each ankle.</description>
		<content:encoded><![CDATA[<p>I do remember seeing the LispWorks thing about heap size, now that you mention it.</p>
<p>I&#8217;ve got to say though&#8230; it&#8217;s not a very promising way to get me to buy their product if the free edition is artificially slower.  If their products turned out to be speedy enough to compete with the free implementations, I&#8217;d be much more inclined to shell out the money for them.  As it is, I can&#8217;t really tell how competitive they are.</p>
<p>LispWorks 5-hour-per-session, no <em>(save-image&#8230;)</em>, and non-commercial restrictions seem fine to me.  The heap size restriction?  that&#8217;s just running with a ball and chain around each ankle.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pat</title>
		<link>http://nklein.com/2009/06/optimizing-lisp-some-more/comment-page-1/#comment-126</link>
		<dc:creator>pat</dc:creator>
		<pubDate>Thu, 25 Jun 2009 04:28:50 +0000</pubDate>
		<guid isPermaLink="false">http://nklein.com/?p=596#comment-126</guid>
		<description>I &lt;a href=&quot;http://nklein.com/2009/06/trying-to-unconfound-lisp-speeds/&quot; rel=&quot;nofollow&quot;&gt;tried moving the allocation out of that function&lt;/a&gt;.  There is still something that is making Allegro and LispWorks allocate memory inside that function or inside the loop.  I haven&#039;t looked at the assembly yet to try to figure out what they&#039;re doing that&#039;s causing them to chew through memory.

As you can see in the table &lt;a href=&quot;http://nklein.com/2009/06/trying-to-unconfound-lisp-speeds/&quot; rel=&quot;nofollow&quot;&gt;in this article&lt;/a&gt;, several implementations allocated zero bytes for the same code that caused other implementations to allocate anywhere from 120 bytes to 1,842 bytes per iteration.</description>
		<content:encoded><![CDATA[<p>I <a href="http://nklein.com/2009/06/trying-to-unconfound-lisp-speeds/" rel="nofollow">tried moving the allocation out of that function</a>.  There is still something that is making Allegro and LispWorks allocate memory inside that function or inside the loop.  I haven&#8217;t looked at the assembly yet to try to figure out what they&#8217;re doing that&#8217;s causing them to chew through memory.</p>
<p>As you can see in the table <a href="http://nklein.com/2009/06/trying-to-unconfound-lisp-speeds/" rel="nofollow">in this article</a>, several implementations allocated zero bytes for the same code that caused other implementations to allocate anywhere from 120 bytes to 1,842 bytes per iteration.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Trying to Unconfound Lisp Speeds :: nklein software</title>
		<link>http://nklein.com/2009/06/optimizing-lisp-some-more/comment-page-1/#comment-125</link>
		<dc:creator>Trying to Unconfound Lisp Speeds :: nklein software</dc:creator>
		<pubDate>Thu, 25 Jun 2009 04:23:50 +0000</pubDate>
		<guid isPermaLink="false">http://nklein.com/?p=596#comment-125</guid>
		<description>[...] the original version of my Optimizing Lisp Some More article, I did a bad comparison between SBCL and Clozure. SBCL supports two different ways to [...]</description>
		<content:encoded><![CDATA[<p>[...] the original version of my Optimizing Lisp Some More article, I did a bad comparison between SBCL and Clozure. SBCL supports two different ways to [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pat</title>
		<link>http://nklein.com/2009/06/optimizing-lisp-some-more/comment-page-1/#comment-124</link>
		<dc:creator>pat</dc:creator>
		<pubDate>Thu, 25 Jun 2009 01:33:59 +0000</pubDate>
		<guid isPermaLink="false">http://nklein.com/?p=596#comment-124</guid>
		<description>Aha.  My bad.  I will rerun with the memory allocated outside the timer.

I didn&#039;t get a heap warning, but I probably spent a whole lot of time garbage-collecting.</description>
		<content:encoded><![CDATA[<p>Aha.  My bad.  I will rerun with the memory allocated outside the timer.</p>
<p>I didn&#8217;t get a heap warning, but I probably spent a whole lot of time garbage-collecting.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Justin Grant</title>
		<link>http://nklein.com/2009/06/optimizing-lisp-some-more/comment-page-1/#comment-123</link>
		<dc:creator>Justin Grant</dc:creator>
		<pubDate>Thu, 25 Jun 2009 01:21:41 +0000</pubDate>
		<guid isPermaLink="false">http://nklein.com/?p=596#comment-123</guid>
		<description>From the LW personal edition limitations :
http://www.lispworks.com/downloads/
&quot;There is a heap size limit which, if exceeded, causes the image to exit. A warning is provided when the limit is approached. &quot;

Allegro CL Free Express edition :
http://www.franz.com/downloads/
&quot;Limited heap size (60MB) &quot;

Would be interesting to see the code run on the full versions.</description>
		<content:encoded><![CDATA[<p>From the LW personal edition limitations :<br />
<a href="http://www.lispworks.com/downloads/" rel="nofollow">http://www.lispworks.com/downloads/</a><br />
&#8220;There is a heap size limit which, if exceeded, causes the image to exit. A warning is provided when the limit is approached. &#8221;</p>
<p>Allegro CL Free Express edition :<br />
<a href="http://www.franz.com/downloads/" rel="nofollow">http://www.franz.com/downloads/</a><br />
&#8220;Limited heap size (60MB) &#8221;</p>
<p>Would be interesting to see the code run on the full versions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pat</title>
		<link>http://nklein.com/2009/06/optimizing-lisp-some-more/comment-page-1/#comment-122</link>
		<dc:creator>pat</dc:creator>
		<pubDate>Thu, 25 Jun 2009 00:46:25 +0000</pubDate>
		<guid isPermaLink="false">http://nklein.com/?p=596#comment-122</guid>
		<description>I agree.  I was surprised by the difference.  I am using the free LW and a trial Allegro.  They don&#039;t advertise heap limits, IIRC.

My next steps are to type the loop counter variables and to try a version where &#039;ret&#039; is allocated outside the timing form.  Then, if there is still a big difference, I will delve into the assembly.</description>
		<content:encoded><![CDATA[<p>I agree.  I was surprised by the difference.  I am using the free LW and a trial Allegro.  They don&#8217;t advertise heap limits, IIRC.</p>
<p>My next steps are to type the loop counter variables and to try a version where &#8216;ret&#8217; is allocated outside the timing form.  Then, if there is still a big difference, I will delve into the assembly.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Justin Grant</title>
		<link>http://nklein.com/2009/06/optimizing-lisp-some-more/comment-page-1/#comment-121</link>
		<dc:creator>Justin Grant</dc:creator>
		<pubDate>Wed, 24 Jun 2009 22:35:14 +0000</pubDate>
		<guid isPermaLink="false">http://nklein.com/?p=596#comment-121</guid>
		<description>The numbers for Allegro and Lispworks seem almost unbelievably bad in comparison to SBCL, CMUCL and Clozure. I&#039;m wondering if the type decls required for those are also different (they should not be).

Also, are these limited versions that you&#039;re using (with heap limits etc.) ?
If they are then the numbers would be invalid for comparison.</description>
		<content:encoded><![CDATA[<p>The numbers for Allegro and Lispworks seem almost unbelievably bad in comparison to SBCL, CMUCL and Clozure. I&#8217;m wondering if the type decls required for those are also different (they should not be).</p>
<p>Also, are these limited versions that you&#8217;re using (with heap limits etc.) ?<br />
If they are then the numbers would be invalid for comparison.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pat</title>
		<link>http://nklein.com/2009/06/optimizing-lisp-some-more/comment-page-1/#comment-117</link>
		<dc:creator>pat</dc:creator>
		<pubDate>Tue, 23 Jun 2009 20:34:26 +0000</pubDate>
		<guid isPermaLink="false">http://nklein.com/?p=596#comment-117</guid>
		<description>Fair enough.  I included the other declarations.  I will update the timing numbers in the original post.</description>
		<content:encoded><![CDATA[<p>Fair enough.  I included the other declarations.  I will update the timing numbers in the original post.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

