Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ghc-unicode-collation for
openSUSE:Factory checked in at 2021-12-19 17:34:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-unicode-collation (Old)
and /work/SRC/openSUSE:Factory/.ghc-unicode-collation.new.2520 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-unicode-collation"
Sun Dec 19 17:34:26 2021 rev:2 rq:932898 version:0.1.3.1
Changes:
--------
---
/work/SRC/openSUSE:Factory/ghc-unicode-collation/ghc-unicode-collation.changes
2021-06-01 10:40:40.757141721 +0200
+++
/work/SRC/openSUSE:Factory/.ghc-unicode-collation.new.2520/ghc-unicode-collation.changes
2021-12-19 17:34:37.564272951 +0100
@@ -1,0 +2,10 @@
+Mon Nov 15 06:57:49 UTC 2021 - [email protected]
+
+- Update unicode-collation to version 0.1.3.1.
+ ## 0.1.3.1
+
+ * Allow base 4.16 (so the library can compile with ghc 9.2).
+
+ * Micro-optimization in normalize; update benchmarks.
+
+-------------------------------------------------------------------
Old:
----
unicode-collation-0.1.3.tar.gz
New:
----
unicode-collation-0.1.3.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-unicode-collation.spec ++++++
--- /var/tmp/diff_new_pack.2YaMcK/_old 2021-12-19 17:34:39.336274199 +0100
+++ /var/tmp/diff_new_pack.2YaMcK/_new 2021-12-19 17:34:39.336274199 +0100
@@ -19,7 +19,7 @@
%global pkg_name unicode-collation
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.1.3
+Version: 0.1.3.1
Release: 0
Summary: Haskell implementation of the Unicode Collation Algorithm
License: BSD-2-Clause
++++++ unicode-collation-0.1.3.tar.gz -> unicode-collation-0.1.3.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/unicode-collation-0.1.3/CHANGELOG.md
new/unicode-collation-0.1.3.1/CHANGELOG.md
--- old/unicode-collation-0.1.3/CHANGELOG.md 2021-04-26 06:35:53.000000000
+0200
+++ new/unicode-collation-0.1.3.1/CHANGELOG.md 2021-11-10 19:19:21.000000000
+0100
@@ -2,6 +2,12 @@
`unicode-collation` uses [PVP Versioning](https://pvp.haskell.org).
+## 0.1.3.1
+
+ * Allow base 4.16 (so the library can compile with ghc 9.2).
+
+ * Micro-optimization in normalize; update benchmarks.
+
## 0.1.3
* Add `collateWithUnpacker` (#4). This allows the library to be
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/unicode-collation-0.1.3/README.md
new/unicode-collation-0.1.3.1/README.md
--- old/unicode-collation-0.1.3/README.md 2021-04-26 02:19:49.000000000
+0200
+++ new/unicode-collation-0.1.3.1/README.md 2021-09-19 08:12:00.000000000
+0200
@@ -33,9 +33,9 @@
```
sort a list of 10000 random Texts (en):
- 6.0 ms ?? 580 ??s, 22 MB allocated, 911 KB copied
+ 5.9 ms ?? 487 ??s, 22 MB allocated, 899 KB copied
sort same list with text-icu (en):
- 2.1 ms ?? 122 ??s, 7.1 MB allocated, 149 KB copied
+ 2.1 ms ?? 87 ??s, 7.1 MB allocated, 148 KB copied
```
Performance is worse on a sample drawn from a smaller character
@@ -44,9 +44,9 @@
```
sort a list of 10000 Texts (composed latin) (en):
- 15 ms ?? 1.1 ms, 40 MB allocated, 921 KB copied
+ 12 ms ?? 1.1 ms, 34 MB allocated, 910 KB copied
sort same list with text-icu (en):
- 2.3 ms ?? 212 ??s, 6.9 MB allocated, 140 KB copied
+ 2.3 ms ?? 56 ??s, 7.0 MB allocated, 146 KB copied
```
Much of the impact here comes from normalization (decomposition).
@@ -55,16 +55,16 @@
```
sort same list but pre-normalized (en-u-kk-false):
- 5.7 ms ?? 508 ??s, 19 MB allocated, 887 KB copied
+ 5.4 ms ?? 168 ??s, 19 MB allocated, 909 KB copied
```
On plain ASCII, we get a factor of 3 again:
```
sort a list of 10000 ASCII Texts (en):
- 4.3 ms ?? 66 ??s, 16 MB allocated, 892 KB copied
+ 4.6 ms ?? 405 ??s, 17 MB allocated, 880 KB copied
sort same list with text-icu (en):
- 1.4 ms ?? 107 ??s, 6.2 MB allocated, 140 KB copied
+ 1.6 ms ?? 114 ??s, 6.2 MB allocated, 130 KB copied
```
Note that this library does incremental normalization,
@@ -76,9 +76,9 @@
```
sort a list of 10000 random Texts that agree in first 32 chars:
- 118 ms ?? 8.2 ms, 430 MB allocated, 713 KB copied
+ 116 ms ?? 8.6 ms, 430 MB allocated, 710 KB copied
sort same list with text-icu (en):
- 3.0 ms ?? 226 ??s, 8.8 MB allocated, 222 KB copied
+ 3.2 ms ?? 251 ??s, 8.8 MB allocated, 222 KB copied
```
However, in the special case where the texts are identical,
@@ -87,7 +87,7 @@
```
sort a list of 10000 identical Texts (en):
- 911 ??s ?? 34 ??s, 468 KB allocated, 10 KB copied
+ 877 ??s ?? 54 ??s, 462 KB allocated, 9.7 KB copied
```
## Localized collations
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/unicode-collation-0.1.3/src/Text/Collate/Collation.hs
new/unicode-collation-0.1.3.1/src/Text/Collate/Collation.hs
--- old/unicode-collation-0.1.3/src/Text/Collate/Collation.hs 2021-04-26
06:19:40.000000000 +0200
+++ new/unicode-collation-0.1.3.1/src/Text/Collate/Collation.hs 2021-11-11
05:35:48.000000000 +0100
@@ -266,8 +266,7 @@
| otherwise
-> (0xFBC0 + (cp `shiftR` 15), (cp .&. 0x7FFFF) .|. 0x8000)
--- | Parse a 'Collation' from a 'ByteString' in the format of
--- @allkeys.txt@.
+-- | Parse a 'Collation' from a Text in the format of @allkeys.txt@.
parseCollation :: Text -> Collation
parseCollation = foldl' processLine mempty . T.lines
where
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/unicode-collation-0.1.3/src/Text/Collate/Normalize.hs
new/unicode-collation-0.1.3.1/src/Text/Collate/Normalize.hs
--- old/unicode-collation-0.1.3/src/Text/Collate/Normalize.hs 2021-04-26
06:19:40.000000000 +0200
+++ new/unicode-collation-0.1.3.1/src/Text/Collate/Normalize.hs 2021-09-19
08:12:00.000000000 +0200
@@ -30,18 +30,17 @@
go [] = []
go (c:cs) =
if canonicalCombiningClass c == 0
- then
- c : case reorderMarks cs of
- ([], rest) -> go rest
- (marks, rest) -> foldr (:) (go rest) marks
- else
- case reorderMarks (c:cs) of
- ([], rest) -> go rest
- (marks, rest) -> foldr (:) (go rest) marks
+ then c : reorderMarks cs
+ else reorderMarks (c:cs)
reorderMarks zs =
case break (\z -> canonicalCombiningClass z == 0) zs of
- ([], ys) -> ([], ys)
- (xs, ys) -> (sortOn canonicalCombiningClass xs, ys)
+ ([], ys) -> go ys
+ ([x], ys) -> x : go ys
+ ([x1,x2], ys)
+ | canonicalCombiningClass x1 <= canonicalCombiningClass x2
+ -> x1 : x2 : go ys
+ | otherwise -> x2 : x1 : go ys
+ (xs, ys) -> sortOn canonicalCombiningClass xs ++ go ys
recursivelyDecompose :: [Int] -> [Int]
recursivelyDecompose = foldr go mempty
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/unicode-collation-0.1.3/stack.yaml
new/unicode-collation-0.1.3.1/stack.yaml
--- old/unicode-collation-0.1.3/stack.yaml 2021-04-18 19:05:45.000000000
+0200
+++ new/unicode-collation-0.1.3.1/stack.yaml 2021-11-11 03:26:25.000000000
+0100
@@ -1,4 +1,4 @@
-resolver: lts-17.5
+resolver: lts-18.10
flags:
unicode-collation:
executable: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/unicode-collation-0.1.3/unicode-collation.cabal
new/unicode-collation-0.1.3.1/unicode-collation.cabal
--- old/unicode-collation-0.1.3/unicode-collation.cabal 2021-04-26
04:14:24.000000000 +0200
+++ new/unicode-collation-0.1.3.1/unicode-collation.cabal 2021-11-10
19:19:26.000000000 +0100
@@ -1,6 +1,6 @@
cabal-version: 2.2
name: unicode-collation
-version: 0.1.3
+version: 0.1.3.1
synopsis: Haskell implementation of the Unicode Collation Algorithm
description: This library provides a pure Haskell implementation of
the Unicode Collation Algorithm described at
@@ -48,7 +48,7 @@
Default: False
common common-options
- build-depends: base >= 4.9 && < 4.16
+ build-depends: base >= 4.9 && < 4.17
ghc-options: -Wall
-Wcompat