Ecosyste.ms: Packages

An open API service providing package, version and dependency metadata of many open source software ecosystems and registries.

Top 9.1% on hackage.haskell.org
Top 7.2% dependent packages on hackage.haskell.org
Top 0.2% docker downloads on hackage.haskell.org

hackage.haskell.org : bitvec

A newtype over Bool with a better Vector instance: 8x less memory, up to 3500x faster. The vector package represents unboxed arrays of Bools 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. 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. bv and bv-little do not offer mutable vectors. array is memory-efficient for Bool, but lacks a handy Vector interface and is not thread-safe.

Registry - Source - JSON
purl: pkg:hackage/bitvec
Keywords: bit-vectors, bsd3, data, library, public-domain, bit-array, bitmap, bitmask, libgmp, vectors
License: BSD-3-Clause
Latest release: 9 months ago
First release: about 12 years ago
Dependent packages: 2
Dependent repositories: 19
Downloads: 14,103 total
Stars: 72 on GitHub
Forks: 7 on GitHub
Docker dependents: 1
Docker downloads: 35
Total Commits: 329
Committers: 9
Average commits per author: 36.556
Development Distribution Score (DDS): 0.119
More commit stats: commits.ecosyste.ms
See more repository details: repos.ecosyste.ms
Last synced: 19 days ago

    Loading...
    Readme
    Loading...