f232febf78
changes:
0.11.3.1
- Make Data.Text.Unsafe public, bump version
0.11.3.0
- Drop last vestige of restreamUtf8
- Add a copy function
This fixes https://github.com/bos/text/issues/48
- Drop restreamUtf8 function that is no longer used (https://github.com/bos/text/issues/44)
- Fix printing of hex Integers (https://github.com/bos/text/issues/47)
- Replace the few last uses of div with quot
- Undo an overflow bug I introduced with quotRem
- Handle Int8 overflow
- Compare Show instance performance
- Shave off another 6ns for negative integers with quotRem
- Replace uses of quot and rem with quotRem
Astonishingly (at least to me), this improves performance by almost 30% for large integers.
- Backport integer builder benchmarks
- Switch to a faster decimal algorithm
This is about 25% faster than its predecessor for large numbers.
- Benchmark some bigger numbers
- Backed out changeset bb9a0e19421e, since it was slow
- A more straightforward (and slower) countDigits
This is a few percent slower than the tail-recursive version for numbers of more than one digit.
- Replace countDigits with a faster, more complex version
This is taken from Andrei's "Three Optimization Tips for C++" post:
https://www.facebook.com/notes/facebook-engineering/three-optimization-tips-for-c/10151361643253920
It improves performance by up to 15%.
- Replace a use of div with quot
- Add LLVM support for benchmarks
- Update some comments and whitespace
- Cast to widest fixed integer to avoid truncation trouble
- Write straight into the dest buffer
- Float ensureFree way out
- Add a countDigits function
- Refactor Builder into Builder and Builder.Internal modules
rename : Data/Text/Lazy/Builder.hs => Data/Text/Lazy/Builder/Internal.hs
- Use unsafeDupablePerformIO where possible
unsafeDupablePerformIO is much faster than unsafePerformIO and can be
used safely as long as the underlying operation is pure and we're fine
risking duplicating it in a multi-core scenario. unsafeDupablePerformIO
helps performance a lot on short string where the overhead of
unsafePerformIO dominates.
- Add benchmarks for decodeUtf8'
Also make it possible to run the Pure benchmark with a very short input
string. This lets us test the constant overheads in functions, such as
the one added by unsafePerformIO in decodeUtf8.
- Document internal units and representation
- Try to sort out benchmark build with GHC 7.6
- Fix benchmarks with older bytestring'
- Fix test build with older bytestring
- Ensure that an encoding error handler's result is safe
- Get in-place tests working "properly"
- Merge pull request #18 from hvr/pull-req-16
Add new `Data.Text.Encoding.decodeLatin1` ISO-8859-1 decoding function
- Merge pull request #36 from deian/master
Mark top-level modules Trustworthy
- Turn one error into a CAF
- Make streaming cons strict in its first argument
- Drop some more overhead from unstreamChunks
- First of many CAFs to be NOINLINEd :-(
- When unstreaming, we know the first chunk is not empty
- Lazy Text: reduce memory allocation during unstreaming
- A few simple bang patterns help performance a little
- Merge
- Optimize latin1-to-UTF16 C-implementation by using 32-bit loads
- Add `Data.Text.Lazy.Encoding.decodeLatin1` ISO-8859-1 decoding function
See
|
||
---|---|---|
.. | ||
buildlink3.mk | ||
DESCR | ||
distinfo | ||
Makefile | ||
PLIST |