<?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: Trends in Profiling Haskell</title>
	<atom:link href="http://blog.downstairspeople.org/2009/04/16/trends-in-profiling-haskell/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.downstairspeople.org/2009/04/16/trends-in-profiling-haskell/</link>
	<description>Roguestar, Haskell, and Fun</description>
	<lastBuildDate>Mon, 30 Nov 2009 21:37:00 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.3</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: sclv</title>
		<link>http://blog.downstairspeople.org/2009/04/16/trends-in-profiling-haskell/comment-page-1/#comment-395</link>
		<dc:creator>sclv</dc:creator>
		<pubDate>Fri, 17 Apr 2009 15:23:42 +0000</pubDate>
		<guid isPermaLink="false">http://blog.downstairspeople.org/?p=68#comment-395</guid>
		<description>Maybe -fdicts-cheap?

http://www.haskell.org/pipermail/cvs-ghc/2006-July/030092.html</description>
		<content:encoded><![CDATA[<p>Maybe -fdicts-cheap?</p>
<p><a href="http://www.haskell.org/pipermail/cvs-ghc/2006-July/030092.html" rel="nofollow">http://www.haskell.org/pipermail/cvs-ghc/2006-July/030092.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lane</title>
		<link>http://blog.downstairspeople.org/2009/04/16/trends-in-profiling-haskell/comment-page-1/#comment-394</link>
		<dc:creator>Lane</dc:creator>
		<pubDate>Fri, 17 Apr 2009 13:46:07 +0000</pubDate>
		<guid isPermaLink="false">http://blog.downstairspeople.org/?p=68#comment-394</guid>
		<description>That&#039;s interesting about the logfloat package.  I hadn&#039;t seen that.  My concern, however, is not that I don&#039;t know what to do with an errant realToFrac when I find it, but that I keep finding them.

I&#039;m imagining that there may be tens of haskell programs out there that have never been profiled, that run in twice or worse the time they should</description>
		<content:encoded><![CDATA[<p>That&#8217;s interesting about the logfloat package.  I hadn&#8217;t seen that.  My concern, however, is not that I don&#8217;t know what to do with an errant realToFrac when I find it, but that I keep finding them.</p>
<p>I&#8217;m imagining that there may be tens of haskell programs out there that have never been profiled, that run in twice or worse the time they should</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: wren ng thornton</title>
		<link>http://blog.downstairspeople.org/2009/04/16/trends-in-profiling-haskell/comment-page-1/#comment-393</link>
		<dc:creator>wren ng thornton</dc:creator>
		<pubDate>Fri, 17 Apr 2009 05:44:21 +0000</pubDate>
		<guid isPermaLink="false">http://blog.downstairspeople.org/?p=68#comment-393</guid>
		<description>You should consider using Data.Number.RealToFrac from the logfloat package[1]. It gives a class for defining specialized implementations of realToFrac (aka fromRational . toRational) and defines highly optimized instances for the usual suspects.

I don&#039;t have any fusion rules (since the optimized versions are more correct than the Prelude version, and therefore not equal to the composition), which may be where you&#039;re issues are coming up. Though you could probably write your own if you&#039;re not over-cautious about making sure your program transformations are exact.

[1] http://hackage.haskell.org/packages/archive/logfloat/0.12.0.1/doc/html/Data-Number-RealToFrac.html</description>
		<content:encoded><![CDATA[<p>You should consider using Data.Number.RealToFrac from the logfloat package[1]. It gives a class for defining specialized implementations of realToFrac (aka fromRational . toRational) and defines highly optimized instances for the usual suspects.</p>
<p>I don&#8217;t have any fusion rules (since the optimized versions are more correct than the Prelude version, and therefore not equal to the composition), which may be where you&#8217;re issues are coming up. Though you could probably write your own if you&#8217;re not over-cautious about making sure your program transformations are exact.</p>
<p>[1] <a href="http://hackage.haskell.org/packages/archive/logfloat/0.12.0.1/doc/html/Data-Number-RealToFrac.html" rel="nofollow">http://hackage.haskell.org/packages/archive/logfloat/0.12.0.1/doc/html/Data-Number-RealToFrac.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lane</title>
		<link>http://blog.downstairspeople.org/2009/04/16/trends-in-profiling-haskell/comment-page-1/#comment-392</link>
		<dc:creator>Lane</dc:creator>
		<pubDate>Fri, 17 Apr 2009 03:13:11 +0000</pubDate>
		<guid isPermaLink="false">http://blog.downstairspeople.org/?p=68#comment-392</guid>
		<description>INLINE on class methods?  No, should I?  That wouldn&#039;t affect dictionary lookups, since the class method isn&#039;t reachable until after performing it.</description>
		<content:encoded><![CDATA[<p>INLINE on class methods?  No, should I?  That wouldn&#8217;t affect dictionary lookups, since the class method isn&#8217;t reachable until after performing it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Don Stewart</title>
		<link>http://blog.downstairspeople.org/2009/04/16/trends-in-profiling-haskell/comment-page-1/#comment-391</link>
		<dc:creator>Don Stewart</dc:creator>
		<pubDate>Fri, 17 Apr 2009 02:33:43 +0000</pubDate>
		<guid isPermaLink="false">http://blog.downstairspeople.org/?p=68#comment-391</guid>
		<description>Re dictionaries, I almost never see them in production code. Do you put {-# INLINE #-} on class methods?

Are you able to use fromIntegral, rather than realToFrac (if you look on the GHC bug tracker, there are still cases where it must go via Integer when doing conversions with realToFrac).

And if in doubt, compile with -O2</description>
		<content:encoded><![CDATA[<p>Re dictionaries, I almost never see them in production code. Do you put {-# INLINE #-} on class methods?</p>
<p>Are you able to use fromIntegral, rather than realToFrac (if you look on the GHC bug tracker, there are still cases where it must go via Integer when doing conversions with realToFrac).</p>
<p>And if in doubt, compile with -O2</p>
]]></content:encoded>
	</item>
</channel>
</rss>
