Hello community,

here is the log from the commit of package ghc-hashtables for openSUSE:Factory 
checked in at 2016-07-21 08:14:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-hashtables (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-hashtables.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-hashtables"

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-hashtables/ghc-hashtables.changes    
2015-11-23 07:30:25.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-hashtables.new/ghc-hashtables.changes       
2016-07-21 08:14:09.000000000 +0200
@@ -1,0 +2,5 @@
+Sun Jul 10 17:18:56 UTC 2016 - psim...@suse.com
+
+- Update to version 1.2.1.0 revision 0 with cabal2obs.
+
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ghc-hashtables.spec ++++++
--- /var/tmp/diff_new_pack.Uoiz0E/_old  2016-07-21 08:14:10.000000000 +0200
+++ /var/tmp/diff_new_pack.Uoiz0E/_new  2016-07-21 08:14:10.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package ghc-hashtables
 #
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,24 +17,21 @@
 
 
 %global pkg_name hashtables
-
-Name:           ghc-hashtables
+Name:           ghc-%{pkg_name}
 Version:        1.2.1.0
 Release:        0
 Summary:        Mutable hash tables in the ST monad
 License:        BSD-3-Clause
 Group:          System/Libraries
-
 Url:            https://hackage.haskell.org/package/%{pkg_name}
 Source0:        
https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-
 BuildRequires:  ghc-Cabal-devel
-BuildRequires:  ghc-rpm-macros
 # Begin cabal-rpm deps:
 BuildRequires:  ghc-hashable-devel
 BuildRequires:  ghc-primitive-devel
+BuildRequires:  ghc-rpm-macros
 BuildRequires:  ghc-vector-devel
+BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # End cabal-rpm deps
 
 %description
@@ -46,28 +43,94 @@
 "Data.HashTable.Class" module, and the IO wrappers (which most users will
 probably prefer) are located in the "Data.HashTable.IO" module.
 
+This package currently contains three hash table implementations:
+
+1. "Data.HashTable.ST.Cuckoo" contains an implementation of "cuckoo hashing" as
+introduced by Pagh and Rodler in 2001 (see
+<http://en.wikipedia.org/wiki/Cuckoo_hashing>). Cuckoo hashing has worst-case
+/O(1)/ lookups and can reach a high "load factor", in which the table can
+perform acceptably well even when approaching 90% full. Randomized testing
+shows this implementation of cuckoo hashing to be slightly faster on insert and
+slightly slower on lookup than "Data.Hashtable.ST.Basic", while being more
+space efficient by about a half-word per key-value mapping. Cuckoo hashing,
+like the basic hash table implementation using linear probing, can suffer from
+long delays when the table is resized.
+
+2. "Data.HashTable.ST.Basic" contains a basic open-addressing hash table using
+linear probing as the collision strategy. On a pure speed basis it should
+currently be the fastest available Haskell hash table implementation for
+lookups, although it has a higher memory overhead than the other tables and can
+suffer from long delays when the table is resized because all of the elements
+in the table need to be rehashed.
+
+3. "Data.HashTable.ST.Linear" contains a linear hash table (see
+<http://en.wikipedia.org/wiki/Linear_hashing>), which trades some insert and
+lookup performance for higher space efficiency and much shorter delays when
+expanding the table. In most cases, benchmarks show this table to be currently
+slightly faster than 'Data.HashTable' from the Haskell base library.
+
+It is recommended to create a concrete type alias in your code when using this
+package, i.e.:
+
+> import qualified Data.HashTable.IO as H > > type HashTable k v =
+H.BasicHashTable k v > > foo :: IO (HashTable Int Int) > foo = do > ht <- H.new
+> H.insert ht 1 1 > return ht
+
+Firstly, this makes it easy to switch to a different hash table implementation,
+and secondly, using a concrete type rather than leaving your functions abstract
+in the HashTable class should allow GHC to optimize away the typeclass
+dictionaries.
+
+This package accepts a couple of different cabal flags:
+
+* 'unsafe-tricks', default /ON/. If this flag is enabled, we use some unsafe
+GHC-specific tricks to save indirections (namely 'unsafeCoerce#' and
+'reallyUnsafePtrEquality#'. These techniques rely on assumptions about the
+behaviour of the GHC runtime system and, although they've been tested and
+should be safe under normal conditions, are slightly dangerous. Caveat emptor.
+In particular, these techniques are incompatible with HPC code coverage
+reports.
+
+* 'sse42', default /OFF/. If this flag is enabled, we use some SSE 4.2
+instructions (see <http://en.wikipedia.org/wiki/SSE4>, first available on Intel
+Core 2 processors) to speed up cache-line searches for cuckoo hashing.
+
+* 'bounds-checking', default /OFF/. If this flag is enabled, array accesses are
+bounds-checked.
+
+* 'debug', default /OFF/. If turned on, we'll rudely spew debug output to
+stdout.
+
+* 'portable', default /OFF/. If this flag is enabled, we use only pure Haskell
+code and try not to use unportable GHC extensions. Turning this flag on forces
+'unsafe-tricks' and 'sse42' /OFF/.
+
+Please send bug reports to
+<https://github.com/gregorycollins/hashtables/issues>.
 
 %package devel
 Summary:        Haskell %{pkg_name} library development files
 Group:          Development/Libraries/Other
+Requires:       %{name} = %{version}-%{release}
 Requires:       ghc-compiler = %{ghc_version}
 Requires(post): ghc-compiler = %{ghc_version}
 Requires(postun): ghc-compiler = %{ghc_version}
-Requires:       %{name} = %{version}-%{release}
 
 %description devel
 This package provides the Haskell %{pkg_name} library development files.
 
-
 %prep
 %setup -q -n %{pkg_name}-%{version}
 
+
 %build
 %ghc_lib_build
 
+
 %install
 %ghc_lib_install
 
+
 %post devel
 %ghc_pkg_recache
 
@@ -80,6 +143,6 @@
 
 %files devel -f %{name}-devel.files
 %defattr(-,root,root,-)
-%doc README.md
+%doc README.md changelog.md
 
 %changelog


Reply via email to