<p dir="ltr">Why do you keep expecting the compiler to "be smart"? It's just shuffling data around, any type of magic efficiency with Monadic computations requires specific knowledge about monads, which is not something we encode into the compiler. just saying "this should be obvious" is not very productive.</p>
<br><div class="gmail_quote"><div dir="ltr">On Sun, 29 Jan 2017, 4:59 pm Saurabh Nanda, <<a href="mailto:saurabhnanda@gmail.com">saurabhnanda@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto" class="gmail_msg">Thanks for digging deeper, David. What exactly did you inline?<div dir="auto" class="gmail_msg"><br class="gmail_msg"></div><div dir="auto" class="gmail_msg">Also, am I the only one losing my mind over this? It's such a straightforward use of available code structuring tools in Haskell. How come the compiler is not being smart about this OOB?</div></div><div dir="auto" class="gmail_msg"><div dir="auto" class="gmail_msg"><br class="gmail_msg"></div><div dir="auto" class="gmail_msg">-- Saurabh. </div></div><div class="gmail_extra gmail_msg"><br class="gmail_msg"><div class="gmail_quote gmail_msg">On 29 Jan 2017 9:42 pm, "David Turner" <<a href="mailto:dct25-561bs@mythic-beasts.com" class="gmail_msg" target="_blank">dct25-561bs@mythic-beasts.com</a>> wrote:<br type="attribution" class="gmail_msg"><blockquote class="m_6190882761727100463quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_msg"><div class="gmail_msg">Here's the profiling summary that I got:</div><div class="gmail_msg"><font face="monospace, monospace" class="gmail_msg"><br class="gmail_msg"></font></div><div class="gmail_msg"><font face="monospace, monospace" class="gmail_msg">COST CENTRE                      MODULE                              %time %alloc</font></div><div class="gmail_msg"><font face="monospace, monospace" class="gmail_msg"><br class="gmail_msg"></font></div><div class="gmail_msg"><font face="monospace, monospace" class="gmail_msg">getOverhead                      Criterion.Monad                      41.3    0.0</font></div><div class="gmail_msg"><font face="monospace, monospace" class="gmail_msg">>>=                              Lucid.Base                           19.2   41.6</font></div><div class="gmail_msg"><font face="monospace, monospace" class="gmail_msg">makeElement.\.\                  Lucid.Base                           11.4   23.4</font></div><div class="gmail_msg"><font face="monospace, monospace" class="gmail_msg">fromHtmlEscapedString            Blaze.ByteString.Builder.Html.Utf8    7.9   14.9</font></div><div class="gmail_msg"><font face="monospace, monospace" class="gmail_msg">>>=                              Data.Vector.Fusion.Util               2.3    1.7</font></div><div class="gmail_msg"><font face="monospace, monospace" class="gmail_msg">return                           Lucid.Base                            1.4    2.1</font></div><div class="gmail_msg"><font face="monospace, monospace" class="gmail_msg">runBenchmark.loop                Criterion.Measurement                 1.2    0.0</font></div><div class="gmail_msg"><font face="monospace, monospace" class="gmail_msg">with.\                           Lucid.Base                            1.0    2.1</font></div><div class="gmail_msg"><font face="monospace, monospace" class="gmail_msg">foldlMapWithKey                  Lucid.Base                            0.5    2.6</font></div><div class="gmail_msg"><font face="monospace, monospace" class="gmail_msg">streamDecodeUtf8With.decodeChunk Data.Text.Encoding                    0.0    1.7</font></div></div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">As expected, HtmlT's bind is the expensive bit. However I've been unable to encourage it to go away using INLINE pragmas.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><br class="gmail_msg"></div></div><div class="m_6190882761727100463elided-text gmail_msg"><div class="gmail_extra gmail_msg"><br class="gmail_msg"><div class="gmail_quote gmail_msg">On 29 January 2017 at 15:45, Oliver Charles <span dir="ltr" class="gmail_msg"><<a href="mailto:ollie@ocharles.org.uk" class="gmail_msg" target="_blank">ollie@ocharles.org.uk</a>></span> wrote:<br class="gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr" class="gmail_msg">I would start by inlining operations in the Functor, Applicative and Monad classes for your monad and all the layers in the stack (such as HtmlT). An un-inlining monadic bind can end up allocating a lot (as it's such a common operation)</p><div class="m_6190882761727100463m_2155239635394462635HOEnZb gmail_msg"><div class="m_6190882761727100463m_2155239635394462635h5 gmail_msg">
<br class="gmail_msg"><div class="gmail_quote gmail_msg"><div dir="ltr" class="gmail_msg">On Sun, 29 Jan 2017, 3:32 pm Saurabh Nanda, <<a href="mailto:saurabhnanda@gmail.com" class="gmail_msg" target="_blank">saurabhnanda@gmail.com</a>> wrote:<br class="gmail_msg"></div><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">Please tell me what to INLINE. I'll update the benchmarks. <div dir="auto" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></div><div dir="auto" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">Also, shouldn't this be treated as a GHC bug then? Using monad transformers as intended should not result in a severe performance penalty! Either monad transformers themselves are a problem or GHC is not doing the right thing. </div></div><div dir="auto" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><div dir="auto" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></div><div dir="auto" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">-- Saurabh. </div></div><div class="gmail_extra m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><div class="gmail_quote m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">On 29 Jan 2017 7:50 pm, "Oliver Charles" <<a href="mailto:ollie@ocharles.org.uk" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg" target="_blank">ollie@ocharles.org.uk</a>> wrote:<br type="attribution" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><blockquote class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616quote m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">I would wager a guess that this can be solved with INLINE pragmas. We recently added INLINE to just about everything in transformers and got a significant speed up.</p><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616elided-text m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">
<br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><div class="gmail_quote m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><div dir="ltr" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">On Sun, 29 Jan 2017, 11:18 am David Turner, <<a href="mailto:dct25-561bs@mythic-beasts.com" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg" target="_blank">dct25-561bs@mythic-beasts.com</a>> wrote:<br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></div><blockquote class="gmail_quote m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">I would guess that the issue lies within HtmlT, which looks vaguely similar to a WriterT transformer but without much in the way of optimisation (e.g. INLINE pragmas). But that's just a guess after about 30 sec of glancing at <a href="https://hackage.haskell.org/package/lucid-2.9.7/docs/src/Lucid-Base.html" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg" target="_blank">https://hackage.haskell.org/package/lucid-2.9.7/docs/src/Lucid-Base.html</a> so don't take it as gospel.</div><div dir="auto" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></div><div dir="auto" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">My machine is apparently an i7-4770 of a similar vintage to yours, running Ubuntu in a VirtualBox VM hosted on Windows. 4GB of RAM in the VM, 16 in the host FWIW.</div></div><div dir="auto" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><div dir="auto" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><div class="gmail_extra m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg" dir="auto"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><div class="gmail_quote m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">On 29 Jan 2017 10:26, "Saurabh Nanda" <<a href="mailto:saurabhnanda@gmail.com" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg" target="_blank">saurabhnanda@gmail.com</a>> wrote:<br type="attribution" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><blockquote class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535m_-2113746514012922779quote m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">Thank you for the PR. Does your research suggest something is wrong with HtmlT when combined with any MonadIO, not necessarily ActionT? Is this an mtl issue or a lucid issue in that case?</div><div dir="auto" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></div><div dir="auto" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">Curiously, what's your machine config? I'm on a late 2011 macbook pro with 10G ram and some old i5. </div><font color="#888888" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><div dir="auto" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></div><div dir="auto" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">-- Saurabh. </div></font><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535m_-2113746514012922779elided-text m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><div dir="auto" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><div class="gmail_extra m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg" dir="auto"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><div class="gmail_quote m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">On 29 Jan 2017 3:05 pm, "David Turner" <<a href="mailto:dct25-561bs@mythic-beasts.com" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg" target="_blank">dct25-561bs@mythic-beasts.com</a>> wrote:<br type="attribution" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><blockquote class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535m_-2113746514012922779m_5533119282879836378quote m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">The methodology does look reasonable, although I think you should wait for all the scotty threads to start before starting the benchmarks, as I see this interleaved output:</font><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">Setting phasers to stun... (port 3002) (ctrl-c to quit)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">Setting phasers to stun... (port 3003) (ctrl-c to quit)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">Setting phasers to stun... (port 3001) (ctrl-c to quit)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">benchmarking bareScotty</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">Setting phasers to stun... (port 3000) (ctrl-c to quit)</font></div></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">Your numbers are wayyy slower than the ones I see on my dev machine:</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">benchmarking bareScotty</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">Setting phasers to stun... (port 3000) (ctrl-c to quit)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">time                 10.94 ms   (10.36 ms .. 11.52 ms)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">                     0.979 R²   (0.961 R² .. 0.989 R²)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">mean                 12.53 ms   (11.98 ms .. 13.28 ms)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">std dev              1.702 ms   (1.187 ms .. 2.589 ms)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">variance introduced by outliers: 66% (severely inflated)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">benchmarking bareScottyBareLucid</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">time                 12.95 ms   (12.28 ms .. 13.95 ms)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">                     0.972 R²   (0.951 R² .. 0.989 R²)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">mean                 12.20 ms   (11.75 ms .. 12.69 ms)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">std dev              1.236 ms   (991.3 μs .. 1.601 ms)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">variance introduced by outliers: 50% (severely inflated)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">benchmarking transScottyBareLucid</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">time                 12.05 ms   (11.70 ms .. 12.39 ms)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">                     0.992 R²   (0.982 R² .. 0.996 R²)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">mean                 12.43 ms   (12.06 ms .. 13.01 ms)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">std dev              1.320 ms   (880.5 μs .. 2.071 ms)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">variance introduced by outliers: 54% (severely inflated)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">benchmarking transScottyTransLucid</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">time                 39.73 ms   (32.16 ms .. 49.45 ms)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">                     0.668 R²   (0.303 R² .. 0.969 R²)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">mean                 42.59 ms   (36.69 ms .. 54.38 ms)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">std dev              16.52 ms   (8.456 ms .. 25.96 ms)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">variance introduced by outliers: 92% (severely inflated)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">benchmarking bareScotty</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">time                 11.46 ms   (10.89 ms .. 12.07 ms)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">                     0.986 R²   (0.975 R² .. 0.994 R²)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">mean                 11.73 ms   (11.45 ms .. 12.07 ms)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">std dev              800.6 μs   (636.8 μs .. 975.3 μs)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">variance introduced by outliers: 34% (moderately inflated)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">but nonetheless I do also see the one using renderTextT to be substantially slower than the one without.</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">I've sent you a PR [1] that isolates Lucid from Scotty and shows that renderTextT is twice as slow over IO than it is over Identity, and it's ~10% slower over Reader too:</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">benchmarking renderText</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">time                 5.529 ms   (5.328 ms .. 5.709 ms)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">                     0.990 R²   (0.983 R² .. 0.995 R²)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">mean                 5.645 ms   (5.472 ms .. 5.888 ms)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">std dev              593.0 μs   (352.5 μs .. 908.2 μs)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">variance introduced by outliers: 63% (severely inflated)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">benchmarking renderTextT Id</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">time                 5.439 ms   (5.243 ms .. 5.640 ms)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">                     0.991 R²   (0.985 R² .. 0.996 R²)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">mean                 5.498 ms   (5.367 ms .. 5.631 ms)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">std dev              408.8 μs   (323.8 μs .. 552.9 μs)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">variance introduced by outliers: 45% (moderately inflated)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">benchmarking renderTextT Rd</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">time                 6.173 ms   (5.983 ms .. 6.396 ms)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">                     0.990 R²   (0.983 R² .. 0.995 R²)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">mean                 6.284 ms   (6.127 ms .. 6.527 ms)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">std dev              581.6 μs   (422.9 μs .. 773.0 μs)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">variance introduced by outliers: 55% (severely inflated)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">benchmarking renderTextT IO</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">time                 12.35 ms   (11.84 ms .. 12.84 ms)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">                     0.989 R²   (0.982 R² .. 0.995 R²)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">mean                 12.22 ms   (11.85 ms .. 12.76 ms)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">std dev              1.159 ms   (729.5 μs .. 1.683 ms)</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">variance introduced by outliers: 50% (severely inflated)</font></div></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">I tried replacing</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">    forM [1..10000] (\_ -> div_ "hello world!")</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">with</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">    replicateM_ 10000 (div_ "hello world!")<br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">which discards the list of 10,000 () values that the forM thing generates, but this made very little difference.</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">Hope this helps,</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">David</font><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">[1] <a href="https://github.com/vacationlabs/monad-transformer-benchmark/pull/2" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg" target="_blank">https://github.com/vacationlabs/monad-transformer-benchmark/pull/2</a><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><div class="gmail_extra m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font><div class="gmail_quote m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535m_-2113746514012922779m_5533119282879836378elided-text m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">On 29 January 2017 at 07:26, Saurabh Nanda <span dir="ltr" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><<a href="mailto:saurabhnanda@gmail.com" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg" target="_blank">saurabhnanda@gmail.com</a>></span> wrote:<br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><blockquote class="gmail_quote m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535m_-2113746514012922779m_5533119282879836378elided-text m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><div dir="ltr" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">Hi,
</font><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">I was noticing severe drop in performance when Lucid's HtmlT was being combined with Scotty's ActionT. I've tried putting together a minimal repro at <a href="https://github.com/vacationlabs/monad-transformer-benchmark" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg" target="_blank">https://github.com/vacationlabs/monad-transformer-benchmark</a> Request someone with better knowledge of benchmarking to check if the benchmarking methodology is correct.</font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">Is my reading of 200ms performance penalty correct?</font></div><span class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535m_-2113746514012922779m_5533119282879836378m_-2966468118207189964gmail-HOEnZb m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><font color="#888888" face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">-- Saurabh.</div><div class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></div></font></span></div>
</div><font face="monospace, monospace" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">_______________________________________________<br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">
Haskell-Cafe mailing list<br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">
To (un)subscribe, modify options or view archives go to:<br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">
Only members subscribed via the mailman list are allowed to post.<br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></font></blockquote></div><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></div></div>
</blockquote></div><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></div></div></div></div>
</blockquote></div><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></div></div></div>
_______________________________________________<br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">
Haskell-Cafe mailing list<br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">
To (un)subscribe, modify options or view archives go to:<br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175m_511630468224426616m_-8161578511397438535gmail_msg m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg">
Only members subscribed via the mailman list are allowed to post.</blockquote></div>
</div></blockquote></div><br class="m_6190882761727100463m_2155239635394462635m_-155915335062936175gmail_msg gmail_msg"></div>
</blockquote></div>
</div></div></blockquote></div><br class="gmail_msg"></div>
</div></blockquote></div><br class="gmail_msg"></div>
</blockquote></div>