<div dir="ltr"><div><div>John, are you able to share this benchmarking code?<br><br></div>Thanks,<br></div>Tom<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 5, 2018 at 12:07 AM, John Wiegley <span dir="ltr"><<a href="mailto:johnw@newartisans.com" target="_blank">johnw@newartisans.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">>>>>> "DF" == David Feuer <<a href="mailto:david.feuer@gmail.com">david.feuer@gmail.com</a>> writes:<br>
<br>
DF> For the record, the "public" version of runRW# is called<br>
DF> unsafeDupablePerformIO. It would be a good idea to find out if it can<br>
DF> be used throughout bytestring without a significant penalty. If so,<br>
DF> that would eliminate a bunch of scary stuff. If not, it would be nice<br>
DF> to understand why.<br>
<br>
In my tests, using unsafeDupablePerformIO instead of<br>
accursedUnutterablePerformIO induces a 15% performance penalty.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F<br>
<a href="http://newartisans.com" rel="noreferrer" target="_blank">http://newartisans.com</a>                          60E1 46C4 BD1A 7AC1 4BA2<br>
</font></span><div class="HOEnZb"><div class="h5">______________________________<wbr>_________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org">Libraries@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-<wbr>bin/mailman/listinfo/libraries</a><br>
</div></div></blockquote></div><br></div>