<?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: Decoding Morse Code With F# Comprehensions</title>
	<atom:link href="http://ken.friislarsen.net/blog/2007/11/09/decoding-morse-code-with-f-comprehensions/feed/" rel="self" type="application/rss+xml" />
	<link>http://ken.friislarsen.net/blog/2007/11/09/decoding-morse-code-with-f-comprehensions/</link>
	<description>... but that doesn&#039;t matter, because I turn it into a sexy dance</description>
	<lastBuildDate>Wed, 08 Sep 2010 04:41:41 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: Don Syme</title>
		<link>http://ken.friislarsen.net/blog/2007/11/09/decoding-morse-code-with-f-comprehensions/comment-page-1/#comment-690</link>
		<dc:creator>Don Syme</dc:creator>
		<pubDate>Fri, 16 Nov 2007 19:50:43 +0000</pubDate>
		<guid isPermaLink="false">http://ken.friislarsen.net/blog/2007/11/09/decoding-morse-code-with-f-comprehensions/#comment-690</guid>
		<description>&lt;p&gt;Hi Ken,&lt;/p&gt;

&lt;p&gt;Nice code! I&#039;m glad you spotted the sequence expression optimization: that&#039;s very nice.&lt;/p&gt;

&lt;p&gt;With regard to performance: we&#039;ve tracked this as bug 1253 in our internal database. The issue has been resolved and the optimizations will be available in the next release. You should see substantial improvements across the board here.&lt;/p&gt;

&lt;p&gt;After the optimziations are made the sample code as written becomes dominated by string allocations, and hence the performance is not really a language issue: it becomes more to do with string representations and allocation rates. For example your use of Unicode strings here will mean you pay extra, and perhaps byte strings should be used instead. But as you know the algorithm has room for improvement because of over-allocation.&lt;/p&gt;

&lt;p&gt;With regard to sequence expressions, the ideal implementation is to generate C#-style iterator classes. That is something we expect to do at some point: it means certain very elegant sequence expressions will execute extremely efficiently. However, the current performance profile of sequence expressions is good for most applications.&lt;/p&gt;

&lt;p&gt;Kind regards
Don&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Hi Ken,</p>

<p>Nice code! I&#8217;m glad you spotted the sequence expression optimization: that&#8217;s very nice.</p>

<p>With regard to performance: we&#8217;ve tracked this as bug 1253 in our internal database. The issue has been resolved and the optimizations will be available in the next release. You should see substantial improvements across the board here.</p>

<p>After the optimziations are made the sample code as written becomes dominated by string allocations, and hence the performance is not really a language issue: it becomes more to do with string representations and allocation rates. For example your use of Unicode strings here will mean you pay extra, and perhaps byte strings should be used instead. But as you know the algorithm has room for improvement because of over-allocation.</p>

<p>With regard to sequence expressions, the ideal implementation is to generate C#-style iterator classes. That is something we expect to do at some point: it means certain very elegant sequence expressions will execute extremely efficiently. However, the current performance profile of sequence expressions is good for most applications.</p>

<p>Kind regards
Don</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Ken</title>
		<link>http://ken.friislarsen.net/blog/2007/11/09/decoding-morse-code-with-f-comprehensions/comment-page-1/#comment-692</link>
		<dc:creator>Ken</dc:creator>
		<pubDate>Mon, 12 Nov 2007 21:45:53 +0000</pubDate>
		<guid isPermaLink="false">http://ken.friislarsen.net/blog/2007/11/09/decoding-morse-code-with-f-comprehensions/#comment-692</guid>
		<description>&lt;p&gt;Hi Robert,&lt;/p&gt;

&lt;p&gt;I have added links to the python version and the two F# versions I have used.&lt;/p&gt;

&lt;p&gt;Note that, I do know that the algorithm that all versions of the program uses is not optimal.  It would, for instance, be better to generate the solutions backwards.  So that suffixes for strings that starts with &lt;code&gt;A&lt;/code&gt; or &lt;code&gt;ET&lt;/code&gt;, for instance, is only generated once.&lt;/p&gt;

&lt;p&gt;Let me know your findings.&lt;/p&gt;

&lt;p&gt;Cheers,&lt;/p&gt;

&lt;p&gt;--Ken&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Hi Robert,</p>

<p>I have added links to the python version and the two F# versions I have used.</p>

<p>Note that, I do know that the algorithm that all versions of the program uses is not optimal.  It would, for instance, be better to generate the solutions backwards.  So that suffixes for strings that starts with <code>A</code> or <code>ET</code>, for instance, is only generated once.</p>

<p>Let me know your findings.</p>

<p>Cheers,</p>

<p>&#8211;Ken</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Pickering</title>
		<link>http://ken.friislarsen.net/blog/2007/11/09/decoding-morse-code-with-f-comprehensions/comment-page-1/#comment-691</link>
		<dc:creator>Robert Pickering</dc:creator>
		<pubDate>Sat, 10 Nov 2007 16:23:17 +0000</pubDate>
		<guid isPermaLink="false">http://ken.friislarsen.net/blog/2007/11/09/decoding-morse-code-with-f-comprehensions/#comment-691</guid>
		<description>&lt;p&gt;Hi Ken,&lt;/p&gt;

&lt;p&gt;I&#039;d be interested in having the test data you used, it would be difficult to tune the F# program with out this.&lt;/p&gt;

&lt;p&gt;Thanks,
Rob&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Hi Ken,</p>

<p>I&#8217;d be interested in having the test data you used, it would be difficult to tune the F# program with out this.</p>

<p>Thanks,
Rob</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Ken</title>
		<link>http://ken.friislarsen.net/blog/2007/11/09/decoding-morse-code-with-f-comprehensions/comment-page-1/#comment-689</link>
		<dc:creator>Ken</dc:creator>
		<pubDate>Fri, 09 Nov 2007 21:13:28 +0000</pubDate>
		<guid isPermaLink="false">http://ken.friislarsen.net/blog/2007/11/09/decoding-morse-code-with-f-comprehensions/#comment-689</guid>
		<description>&lt;p&gt;Hi Miguel&lt;/p&gt;

&lt;p&gt;A quick test with the flags &lt;code&gt;--generics --cli-version 2.0&lt;/code&gt; to &lt;code&gt;fcs&lt;/code&gt; gives no difference in performance.&lt;/p&gt;

&lt;p&gt;I am just about to complete a version in C# to see if it F# or CLR that is the problem.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Hi Miguel</p>

<p>A quick test with the flags <code>--generics --cli-version 2.0</code> to <code>fcs</code> gives no difference in performance.</p>

<p>I am just about to complete a version in C# to see if it F# or CLR that is the problem.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Miguel de Icaza</title>
		<link>http://ken.friislarsen.net/blog/2007/11/09/decoding-morse-code-with-f-comprehensions/comment-page-1/#comment-688</link>
		<dc:creator>Miguel de Icaza</dc:creator>
		<pubDate>Fri, 09 Nov 2007 20:56:39 +0000</pubDate>
		<guid isPermaLink="false">http://ken.friislarsen.net/blog/2007/11/09/decoding-morse-code-with-f-comprehensions/#comment-688</guid>
		<description>&lt;p&gt;My understanding is that at least in the non-Windows case F# is still using the pre-generics runtime because we do not support precompilation of assemblies when they contain generic code.&lt;/p&gt;

&lt;p&gt;I believe that if you force F# to use the 2.0 profile version you will get better performance under Mono.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>My understanding is that at least in the non-Windows case F# is still using the pre-generics runtime because we do not support precompilation of assemblies when they contain generic code.</p>

<p>I believe that if you force F# to use the 2.0 profile version you will get better performance under Mono.</p>]]></content:encoded>
	</item>
</channel>
</rss>
