Skip to content
Commits on Jul 20, 2011
  1. Bump version

    committed Jul 20, 2011
  2. Fix an overly cautious bit of arithmetic checking.

    committed Jul 20, 2011
    Even though the value behind a Size is an Int, we actually intend that those
    values should always be non-negative. (We don't use the notionally more
    appropriate Word because GHC doesn't do a very good job with it.)
    
    But non-negative means that 0+0 should be 0! Um, oops.
Commits on Jul 15, 2011
  1. @tibbe

    Bump dependency on integer-gmp

    tibbe committed Jul 15, 2011
Commits on Jul 11, 2011
  1. Change where we look for test data

    committed Jul 11, 2011
  2. Update

    committed Jul 10, 2011
Commits on Jul 10, 2011
  1. Portable native UTF-8 decoder gives 3.7x faster decoding

    committed Jul 10, 2011
    This code is derived from Björn Höhrmann's UTF-8 decoder.  Compared
    to the original Haskell decoder from cac7dbcbc392, it's between
    2.17 and 3.68 times faster.  It's even between 1.18 and 3.58 times
    faster than the improved Haskell decoder from 71ead801296a.
    
    The x86-specific decoding path gives a substantial win for entirely
    and partly ASCII text, e.g. HTML and XML, at the cost of being about
    17% slower than the portable C decoder for entirely non-ASCII text.
  2. Merge

    committed Jul 10, 2011
  3. Add Chinese HTML to decode benchmark

    committed Jul 10, 2011
Commits on Jul 8, 2011
  1. Benchmark the performance of iconv.

    committed Jul 8, 2011
    On my Mac, it takes 33ms, vs about 20ms for the Haskell code.
  2. Bump version

    committed Jul 8, 2011
  3. Merge

    committed Jul 8, 2011
  4. Speed up UTF-8 decoding by a little over 2x

    committed Jul 7, 2011
    The previous code was more concise, but alas GHC boxed each Word8
    it read from the ByteString, which resulted in poor performance.
    
    This mankier code adds (seemingly required) strictness annotations,
    along with a little bit of manual CSE.
    
    Timing of the DecodeUtf8/Strict benchmark went from 41.8ms to 19.6ms,
    a pleasing improvement.
Commits on Jun 29, 2011
  1. Bump version

    committed Jun 28, 2011
  2. Merge

    committed Jun 28, 2011
Commits on Jun 28, 2011
  1. Oh noes! I was miscalculating the initial buffer size!

    committed Jun 27, 2011
    When performance testing encodeUtf8, I noticed that for some reason I
    was still seeing "ensure" show up in the profile, when I expected it
    shouldn't have been.
    
    Turns out I was using a "min" where I should have been using a "max",
    and thus allocating an initial bytestring that would almost always be
    too small, thus forcing reallocations and copying. Boo!
  2. Eliminate unnecessary resizes from encodeUtf8.

    committed Jun 27, 2011
    We had been performing a resize any time that (a) we had data to write
    and (b) we got to within 4 bytes of filling the target bytestring.
    This was safe, but suboptimal, as it meant that in the common case of
    encoding ASCII text, we would *always* perform a resize.
    
    Now, we check the exact number of bytes we need to fit, and resize
    only if they won't fit.  This eliminates resizes for ASCII data, and
    makes them a little less likely for other data.
Commits on Jun 27, 2011
  1. Switch to native code for copying and comparison.

    committed Jun 27, 2011
    --HG--
    rename : Data/Text/Unsafe.hs => Data/Text/Unsafe/Base.hs
  2. Ignore more

    committed Jun 26, 2011
  3. Merge

    committed Jun 26, 2011
  4. Merge

    committed Jun 26, 2011
  5. Merge

    committed Jun 26, 2011
Commits on Jun 23, 2011
  1. Merge

    committed Jun 23, 2011
  2. Merge

    committed Jun 23, 2011
  3. Merge pull request #6 from jaspervdj/tests

    committed Jun 23, 2011
    Port tests to cabal based infrastructure
  4. Merge 420d46b into f23938f

    GitHub Merge Button committed Jun 23, 2011
  5. Merge pull request #5 from jaspervdj/master

    committed Jun 23, 2011
    Further work on benchmarks
  6. Merge 7d61b05 into 419ee9b

    GitHub Merge Button committed Jun 23, 2011
  7. @jaspervdj
Commits on Jun 22, 2011
  1. @jaspervdj

    Remove old tests, fix README

    jaspervdj committed Jun 22, 2011
  2. @jaspervdj
Something went wrong with that request. Please try again.