Permalink
Commits on Jul 20, 2011
  1. Bump version

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

    bos 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. Bump dependency on integer-gmp

    tibbe committed Jul 15, 2011
Commits on Jul 11, 2011
  1. Update

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

    bos 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

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

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

    bos committed Jul 8, 2011
  3. Merge

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

    bos committed Jul 8, 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

    bos committed Jun 29, 2011
  2. Merge

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

    bos committed Jun 28, 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.

    bos committed Jun 28, 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.

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

    bos committed Jun 27, 2011
  3. Merge

    bos committed Jun 27, 2011
  4. Merge

    bos committed Jun 27, 2011
  5. Merge

    bos committed Jun 27, 2011
Commits on Jun 23, 2011
  1. Merge

    bos committed Jun 23, 2011
  2. Merge

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

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

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

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

    GitHub Merge Button
    GitHub Merge Button committed Jun 23, 2011
Commits on Jun 22, 2011