On Thu, May 27, 2010 at 11:28 AM, Ivan Miljenovic <ivan.miljeno...@gmail.com > wrote:
> On 27 May 2010 18:23, Michael Snoyman <mich...@snoyman.com> wrote: > > > > > > On Thu, May 27, 2010 at 11:16 AM, Ivan Miljenovic > > <ivan.miljeno...@gmail.com> wrote: > >> > >> On 27 May 2010 17:55, Michael Snoyman <mich...@snoyman.com> wrote: > >> > Two comments: > >> > * The exclamation point seems good enough for attributes. I copied > that > >> > for > >> > Hamlet as well. > >> > * If you're standardizing on UTF-8, why not support bytestrings? I'm > >> > aware > >> > that a user could shoot him/herself in the foot by passing in non-UTF8 > >> > data, > >> > but I would imagine the performance gains would outweigh this. My > recent > >> > benchmarks on the BigTable benchmark[1] imply a huge performance gap > >> > between > >> > ByteStrings and other contenders. > >> > >> Wow, I find it rather surprising that String out-performs Text; any > >> idea why that is? I wonder if you're just using it wrong... > >> > > Could be, I'd be very happy if that were the case. All of the benchmarks > are > > available on Github, and the bytestring[1], text[2] and string[3] > versions > > are all rather short. > > Does using lazy Text values improve this? I find it a little strange > that you concatenate so many individual Strings that much. Also, how > about explicitly using Text values rather than OverloadedStrings? > > I don't do any string concatenation (look closely), I was very careful to avoid it. I tried with lazy text as well: it was slower. This isn't surprising, since lazy text- under the surface- is just a list of strict text. And the benchmark itself already has a lazy list of strict text. Using lazy text would just be adding a layer of wrapping. I don't know what you mean by "explicitly using Text values"; you mean calling pack manually? That's really all that OverloadedStrings does. You can try out lots of different variants on that benchmark. I did that already, and found this to be the fastest version. Michael
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe