Commits

Author Commit Message Labels Comments Date
Bryan O'Sullivan
Change where we look for test data
Bryan O'Sullivan
Update
Bryan O'Sullivan
Portable native UTF-8 decoder gives 3.7x faster decoding 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%…
Bryan O'Sullivan
Merge
Bryan O'Sullivan
Transplant UTF-8 decoding benchmarks as of 44d20dca8f35
Bryan O'Sullivan
Add Chinese HTML to decode benchmark
Bryan O'Sullivan
Allow decoding of multiple files when benchmarking
Bryan O'Sullivan
Benchmark the performance of iconv. On my Mac, it takes 33ms, vs about 20ms for the Haskell code.
Bryan O'Sullivan
Bump version
Bryan O'Sullivan
Merge
Bryan O'Sullivan
Speed up UTF-8 decoding by a little over 2x 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.
Bryan O'Sullivan
Added tag 0.11.1.3 for changeset b75d3041d275
Bryan O'Sullivan
Bump version
Tags
0.11.1.3
Bryan O'Sullivan
Merge
Bryan O'Sullivan
Added tag 0.11.1.2 for changeset ed3a60ec627a
Bryan O'Sullivan
Oh noes! I was miscalculating the initial buffer size! 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!
Bryan O'Sullivan
Eliminate unnecessary resizes from encodeUtf8. 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, an…
Bryan O'Sullivan
Switch to native code for copying and comparison.
Tags
0.11.1.2
Bryan O'Sullivan
Ignore more
Bryan O'Sullivan
Merge
Bryan O'Sullivan
Merge
Bryan O'Sullivan
Merge
Jasper Van der Jeugt
Add missing Builder.RealFloat.Functions module
GitHub Merge Button
GitHub Merge Button
Bryan O'Sullivan
Merge
Bryan O'Sullivan
Merge
Bryan O'Sullivan
Merge pull request #6 from jaspervdj/tests Port tests to cabal based infrastructure
GitHub Merge Button
Jasper Van der Jeugt
Increase test coverage a little
  1. Prev
  2. Next