osc copypac from project:devel:languages:haskell:ghc-9.4.x package:ghc-bitvec revision:9, using keep-link
OBS-URL: https://build.opensuse.org/package/show/devel:languages:haskell/ghc-bitvec?expand=0&rev=8
This commit is contained in:
parent
20d38c8e1c
commit
6983f1665f
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:68f0b1e01604ca8bdeaef47b3621faec456d6f76d6820a321eccd4d3749454a8
|
||||
size 35559
|
3
bitvec-1.1.5.0.tar.gz
Normal file
3
bitvec-1.1.5.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:83d27cee5be1d5342ddbf39999d0c8ea54cb433d0891eea5471fbfaa29f8dec5
|
||||
size 40076
|
@ -1,3 +1,19 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 15 20:29:27 UTC 2023 - Peter Simons <psimons@suse.com>
|
||||
|
||||
- Update bitvec to version 1.1.5.0.
|
||||
# 1.1.5.0
|
||||
|
||||
* Make `zipBits` unconditionally strict in its second bit
|
||||
vector argument (thanks to @treeowl).
|
||||
|
||||
* Add `simd` flag (enabled by default) to use a C SIMD
|
||||
implementation for `zipBits`, `invertBits`, `countBits`,
|
||||
`bitIndex`, `nthBitIndex`, `selectBits`, `excludeBits`,
|
||||
`reverseBits` (thanks to @konsumlamm).
|
||||
|
||||
* Decomission `libgmp` flag.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 30 17:05:59 UTC 2023 - Peter Simons <psimons@suse.com>
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
||||
%global pkgver %{pkg_name}-%{version}
|
||||
%bcond_with tests
|
||||
Name: ghc-%{pkg_name}
|
||||
Version: 1.1.4.0
|
||||
Version: 1.1.5.0
|
||||
Release: 0
|
||||
Summary: Space-efficient bit vectors
|
||||
License: BSD-3-Clause
|
||||
@ -52,7 +52,7 @@ BuildRequires: ghc-tasty-quickcheck-prof
|
||||
|
||||
%description
|
||||
A newtype over 'Bool' with a better 'Vector' instance: 8x less memory, up to
|
||||
1000x faster.
|
||||
3500x faster.
|
||||
|
||||
The <https://hackage.haskell.org/package/vector vector> package represents
|
||||
unboxed arrays of 'Bool's spending 1 byte (8 bits) per boolean. This library
|
||||
@ -60,14 +60,19 @@ provides a newtype wrapper 'Bit' and a custom instance of an unboxed 'Vector',
|
||||
which packs bits densely, achieving an __8x smaller memory footprint.__ The
|
||||
performance stays mostly the same; the most significant degradation happens for
|
||||
random writes (up to 10% slower). On the other hand, for certain bulk bit
|
||||
operations 'Vector' 'Bit' is up to 1000x faster than 'Vector' 'Bool'.
|
||||
operations 'Vector' 'Bit' is up to 3500x faster than 'Vector' 'Bool'.
|
||||
|
||||
=== Thread safety
|
||||
|
||||
* "Data.Bit" is faster, but writes and flips are thread-unsafe. This is because
|
||||
naive updates are not atomic: they read the whole word from memory, then modify
|
||||
a bit, then write the whole word back. * "Data.Bit.ThreadSafe" is slower
|
||||
(usually 10-20%), but writes and flips are thread-safe.
|
||||
* "Data.Bit" is faster, but writes and flips are not thread-safe. This is
|
||||
because naive updates are not atomic: they read the whole word from memory,
|
||||
then modify a bit, then write the whole word back. Concurrently modifying
|
||||
non-intersecting slices of the same underlying array may also lead to
|
||||
unexpected results, since they can share a word in memory. *
|
||||
"Data.Bit.ThreadSafe" is slower (usually 10-20%), but writes and flips are
|
||||
thread-safe. Additionally, concurrently modifying non-intersecting slices of
|
||||
the same underlying array works as expected. However, operations that affect
|
||||
multiple elements are not guaranteed to be atomic.
|
||||
|
||||
=== Similar packages
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user