On Mon, May 30, 2016 at 01:56:15PM +0200, Iustin Pop wrote: [snip]
> > That's a huge improvement, and it would be great if you could get it to > > work. The problem I had is that there's a lot of places that use > > getItem'/getItem, and these currently require a String arg (because they > > can take a name, a name prefix, or a UUID), so you end up doing a lot of > > conversions back from ByteString to String. :( > > Yes, saw that, and from a cursory look I believe it can be worked > around. Testing overall performance might be difficult though. Are there > nowadays large-scale performance tests? Or just individual benchmarks? I'm afraid we don't have either individual benchmarks or larger (automated) performance tests, and this is definitely a pain point. > > Note also that there's a caveat with ByteStrings: they use pinned memory > > and therefore can cause lots of heap fragmentation, and I suspect this > > might be an issue in our daemons. > > > > Data.ByteString.Short is more compact and doesn't used pinned memory. I > > wonder if this could be used instead. > > That's interesting, I didn't know that. Although many of the Container > types (or all?) already use ByteString as keys, so I suspect there are > already problems with it. > > OK, will look into this, and see what I can come up with. Great, and thanks for your help. Cheers, Brian.