pkgsrc-WIP-cvs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: wip/hs-text
Module name: wip
Committed by: szptvlfn
Date: Sat Sep 14 00:27:21 UTC 2013
Modified Files:
wip/hs-text: Makefile PLIST buildlink3.mk distinfo
Log Message:
Update to 0.11.3.1
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
https://github.com/bos/text/commit/7c06306bd5b7382cb101f8632b5a1fc50697fe94 for
more information
- Add new `Data.Text.Encoding.decodeLatin1` ISO-8859-1 decoding function
This has about an order of magnitude lower runtime and/or call-overhead as
compared to the more generic `text-icu` approach, e.g. according to
criterion
with GHC 7.4.1 on Linux/x86_64:
* 12 times faster for empty input strings,
* 6 times faster for 16-byte strings, and
* 3 times faster for 1024-byte strings.
`decodeLatin1` is also faster compared to using `decodeUtf8` for plain
ASCII:
* 2 times faster for 16-byte input strings,
* ~40% faster for 1024-byte strings.
- nits
- kill PatternSignatures warning
- Top-level interfaces are safe, marked trustworthy
- Fix documentation for hGetChunk
- Hoist out duplicated catchError definitions :-(
- Merge
- Redefine pack to fuse better
To generate a diff of this commit:
cvs -z3 rdiff -u -r1.4 -r1.5 wip/hs-text/PLIST
cvs -z3 rdiff -u -r1.5 -r1.6 wip/hs-text/buildlink3.mk
cvs -z3 rdiff -u -r1.7 -r1.8 wip/hs-text/distinfo
cvs -z3 rdiff -u -r1.8 -r1.9 wip/hs-text/Makefile
To view a diff of this commit:
http://pkgsrc-wip.cvs.sourceforge.net/pkgsrc-wip/wip/hs-text/PLIST?r1=1.4&r2=1.5
http://pkgsrc-wip.cvs.sourceforge.net/pkgsrc-wip/wip/hs-text/buildlink3.mk?r1=1.5&r2=1.6
http://pkgsrc-wip.cvs.sourceforge.net/pkgsrc-wip/wip/hs-text/distinfo?r1=1.7&r2=1.8
http://pkgsrc-wip.cvs.sourceforge.net/pkgsrc-wip/wip/hs-text/Makefile?r1=1.8&r2=1.9
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
_______________________________________________
pkgsrc-wip-cvs mailing list
pkgsrc-wip-cvs%lists.sourceforge.net@localhost
https://lists.sourceforge.net/lists/listinfo/pkgsrc-wip-cvs
Home |
Main Index |
Thread Index |
Old Index