Skip to content
Commits on Mar 16, 2012
  1. Cleaned up README.md a bit

    committed Mar 16, 2012
  2. Added README.md

    committed Mar 16, 2012
  3. Renamed escape-bytea-concatMap.hs to escapeCopyBytea.hs, and added es…

    committed Mar 16, 2012
    …capeCopyBytea.c to repository
  4. Inline escapeCopyBytea itself

    committed Mar 16, 2012
    I wish I didn't have to do that, but at least now it's fast again.
  5. Have Convert return (rp, wp)

    committed Mar 15, 2012
    Lost the inline advantage again...
  6. Documented ConcatMap module

    committed Mar 15, 2012
  7. Use ByteString unpack and fromWriteList to implement concatMap'

    committed Mar 15, 2012
    This is much slower than my runConvert and concatMapBuf functions.
  8. Switch from WB to Write (from blaze-builder)

    committed Mar 15, 2012
    No noticeable performance impact.  Great!
  9. Have WB build up the write size, as is done in Builder

    committed Mar 15, 2012
    Now it's back to being as fast as it should be.
  10. Add bounds checking

    committed Mar 15, 2012
    0.84 to 1.0 seconds.  Not too bad.
  11. Implement reallocation

    committed Mar 15, 2012
  12. Add buffer overflow plumbing, but don't use it yet

    committed Mar 15, 2012
    Miraculously, it's still fast!
  13. Removed unneeded marshalling from WB monoid

    committed Mar 15, 2012
    Still fast
  14. Drop lambda notation in concatMapBuf

    committed Mar 15, 2012
    Now it's slow.
  15. Have concatMapBuf use let instead of where

    committed Mar 15, 2012
    Now it's fast!
  16. Have Convert return final read cursor, making it isomorphic with WB a…

    committed Mar 15, 2012
    …nd with concatMapBuf's loop
    
    Still slow
  17. Made WB carry around the read end

    committed Mar 15, 2012
    Now we're slow again.
  18. Made WB monoid carry around the read position

    committed Mar 15, 2012
    This didn't speed things up, though.
  19. Lifted concatMapBuf call out of runConvert

    committed Mar 15, 2012
    This doesn't make it really fast.  Maybe it will if I tweak the WB monoid to
    have the same state as concatMapBuf's loop.
Commits on Mar 15, 2012
  1. Move concatMapBuf outside of concatMap'

    committed Mar 15, 2012
    No performance advantage
  2. More inlining and such

    committed Mar 15, 2012
  3. Take out the bounds check entirely

    committed Mar 15, 2012
    For some reason, this isn't much faster.
  4. Make WB simply be an action that does its own checking

    committed Mar 15, 2012
    This actually makes it faster, but it's still not where I want it to be.
  5. Use exception instead of returning Nothing

    committed Mar 15, 2012
    This doesn't help much :(
Something went wrong with that request. Please try again.