<div dir="ltr">What should be the test cases if I want to benchmark it?  The standard library?  -Favonia<br><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Jun 20, 2014 at 10:52 PM, Ulf Norell <span dir="ltr">&lt;<a href="mailto:ulf.norell@gmail.com" target="_blank">ulf.norell@gmail.com</a>&gt;</span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div dir="ltr"><div><div>[tech]: TCM is using IORef to hold the states.  Is IORef significantly faster than StateT or other equivalent?  If references are really superior, how about the ST monad?<br>

</div></div></div></blockquote><div><br></div></div><div>I don&#39;t remember the exact numbers, since it was a while since I changed it, but I do remember that it made a significant difference. However, changing the monad implementation should be a very local change so I encourage you to try it out. ST have a couple of problems: extra parameter cluttering things up, and you can&#39;t do IO. We are using IO for debug printing and for exceptions. Using ErrorT or similar for exceptions I&#39;m pretty sure would kill performance.</div>


<span><font color="#888888">

<div><br></div><div>/ Ulf</div><div><br></div><div> </div></font></span></div></div></div>
</blockquote></div><br></div></div>