How to Install and Uninstall ghc-bitvec Package on openSuSE Tumbleweed
Last updated: December 29,2024
1. Install "ghc-bitvec" package
Please follow the instructions below to install ghc-bitvec on openSuSE Tumbleweed
$
sudo zypper refresh
Copied
$
sudo zypper install
ghc-bitvec
Copied
2. Uninstall "ghc-bitvec" package
This tutorial shows how to uninstall ghc-bitvec on openSuSE Tumbleweed:
$
sudo zypper remove
ghc-bitvec
Copied
3. Information about the ghc-bitvec package on openSuSE Tumbleweed
Information for package ghc-bitvec:
-----------------------------------
Repository : openSUSE-Tumbleweed-Oss
Name : ghc-bitvec
Version : 1.1.5.0-1.7
Arch : x86_64
Vendor : openSUSE
Installed Size : 1.5 MiB
Installed : No
Status : not installed
Source package : ghc-bitvec-1.1.5.0-1.7.src
Upstream URL : https://hackage.haskell.org/package/bitvec
Summary : Space-efficient bit vectors
Description :
A newtype over 'Bool' with a better 'Vector' instance: 8x less memory, up to
3500x faster.
The package represents
unboxed arrays of 'Bool's spending 1 byte (8 bits) per boolean. This library
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 3500x faster than 'Vector' 'Bool'.
=== Thread safety
* "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
* and
do not offer mutable
vectors.
* is memory-efficient for
'Bool', but lacks a handy 'Vector' interface and is not thread-safe.
-----------------------------------
Repository : openSUSE-Tumbleweed-Oss
Name : ghc-bitvec
Version : 1.1.5.0-1.7
Arch : x86_64
Vendor : openSUSE
Installed Size : 1.5 MiB
Installed : No
Status : not installed
Source package : ghc-bitvec-1.1.5.0-1.7.src
Upstream URL : https://hackage.haskell.org/package/bitvec
Summary : Space-efficient bit vectors
Description :
A newtype over 'Bool' with a better 'Vector' instance: 8x less memory, up to
3500x faster.
The
unboxed arrays of 'Bool's spending 1 byte (8 bits) per boolean. This library
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 3500x faster than 'Vector' 'Bool'.
=== Thread safety
* "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
*
vectors.
*
'Bool', but lacks a handy 'Vector' interface and is not thread-safe.