<div class="gmail_quote">On Wed, Sep 1, 2010 at 12:29 PM, Daniel Fischer <span dir="ltr">&lt;<a href="mailto:daniel.is.fischer@web.de">daniel.is.fischer@web.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">I&#39;m on Linux. I guess that&#39;s another point in favour of it:)</div>
Do you happen to know why it&#39;s slower on a Mac?</blockquote><div><br></div><div>I&#39;d guess because of something to do with the system iconv.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">So I tentatively believe most of the difference is spent doing the</div>
replacements.<br></blockquote><div><br></div><div>I have a Replace.hs benchmark in the main text repo, just to be sure we&#39;re talking about the same thing. Factoring out the time spent on I/O, with GHC HEAD, my replace code takes twice the space and time of that in the stringsearch package. Given that the space involved is just 121KB maximum residency while processing a 124MB file, I&#39;m not concerned about it. And the time required isn&#39;t a bad place to start from, I think.</div>
<div><br></div><div>By the way, as this implies, I can&#39;t reproduce your space behaviour at all.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im">I can now say more. Looking at Data.Text.Lazy.replace,</div>
<br>
replace s d = intercalate d . split s </blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
, I also got a space leak with that for BS.Lazy&#39;s intercalate and<br>
stringsearch&#39;s split.</blockquote><div><br></div><div>How did you observe the space leak? Looking at -hT charted with hp2ps shows me nothing, and the program executes in constant space regardless of input size.</div>
</div>