<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Data Structures in (Mz)Scheme</title>
	<atom:link href="http://curiousprogrammer.wordpress.com/2006/11/02/data-structures-in-mzscheme/feed/" rel="self" type="application/rss+xml" />
	<link>http://curiousprogrammer.wordpress.com/2006/11/02/data-structures-in-mzscheme/</link>
	<description>Leveraging Perl and Emacs</description>
	<lastBuildDate>Tue, 07 May 2013 11:25:25 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: IanO</title>
		<link>http://curiousprogrammer.wordpress.com/2006/11/02/data-structures-in-mzscheme/#comment-32</link>
		<dc:creator><![CDATA[IanO]]></dc:creator>
		<pubDate>Fri, 01 Dec 2006 17:52:16 +0000</pubDate>
		<guid isPermaLink="false">http://curiousprogrammer.wordpress.com/2006/11/02/data-structures-in-mzscheme/#comment-32</guid>
		<description><![CDATA[Hi Jens,

I benchmarked the code with your modifications and the time taken drops from 50 seconds to 30 seconds which is pretty good.  I need to look into the stuff provided by the SRFIs to see if they can help me write more idiomatic scheme.

Thanks very much,

Ian]]></description>
		<content:encoded><![CDATA[<p>Hi Jens,</p>
<p>I benchmarked the code with your modifications and the time taken drops from 50 seconds to 30 seconds which is pretty good.  I need to look into the stuff provided by the SRFIs to see if they can help me write more idiomatic scheme.</p>
<p>Thanks very much,</p>
<p>Ian</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jens Axel Søgaard</title>
		<link>http://curiousprogrammer.wordpress.com/2006/11/02/data-structures-in-mzscheme/#comment-30</link>
		<dc:creator><![CDATA[Jens Axel Søgaard]]></dc:creator>
		<pubDate>Wed, 29 Nov 2006 20:12:35 +0000</pubDate>
		<guid isPermaLink="false">http://curiousprogrammer.wordpress.com/2006/11/02/data-structures-in-mzscheme/#comment-30</guid>
		<description><![CDATA[Hi Ian,

I tried mimicking the C source, and ended up with the code below.
To get consistent timings, a nice trick triger the garbage collector
right before the expression to be timed.

(module test-heap mzscheme

  (require 
   (prefix heap: (planet &quot;heap.scm&quot; (&quot;soegaard&quot; &quot;galore.plt&quot; 2 2)))
   (lib &quot;67.ss&quot; &quot;srfi&quot;)
   (lib &quot;42.ss&quot; &quot;srfi&quot;))
   
  (define (print-ln . args)
    (for-each display args)
    (newline)
    (flush-output))

  (define (random-string len)
    (string-ec (:range i len)
               (integer-&gt;char (+ (random 26) 97))))

  (define (populate-heap n)
    (heap:heap-ec string-compare 
                  (:range i n)
                  (random-string 5)))

  (define (test:performance)
    (collect-garbage)
    (time
     (random-seed 17)
     (print-ln &quot;Starting...&quot;)
     (print-ln (heap:find-min (populate-heap 1000000)))
     (print-ln &quot;Finished!&quot;)))

  (provide (all-defined)))

 (require test-heap)
 (test:performance)]]></description>
		<content:encoded><![CDATA[<p>Hi Ian,</p>
<p>I tried mimicking the C source, and ended up with the code below.<br />
To get consistent timings, a nice trick triger the garbage collector<br />
right before the expression to be timed.</p>
<p>(module test-heap mzscheme</p>
<p>  (require<br />
   (prefix heap: (planet &#8220;heap.scm&#8221; (&#8220;soegaard&#8221; &#8220;galore.plt&#8221; 2 2)))<br />
   (lib &#8220;67.ss&#8221; &#8220;srfi&#8221;)<br />
   (lib &#8220;42.ss&#8221; &#8220;srfi&#8221;))</p>
<p>  (define (print-ln . args)<br />
    (for-each display args)<br />
    (newline)<br />
    (flush-output))</p>
<p>  (define (random-string len)<br />
    (string-ec (:range i len)<br />
               (integer-&gt;char (+ (random 26) 97))))</p>
<p>  (define (populate-heap n)<br />
    (heap:heap-ec string-compare<br />
                  (:range i n)<br />
                  (random-string 5)))</p>
<p>  (define (test:performance)<br />
    (collect-garbage)<br />
    (time<br />
     (random-seed 17)<br />
     (print-ln &#8220;Starting&#8230;&#8221;)<br />
     (print-ln (heap:find-min (populate-heap 1000000)))<br />
     (print-ln &#8220;Finished!&#8221;)))</p>
<p>  (provide (all-defined)))</p>
<p> (require test-heap)<br />
 (test:performance)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
