libghc-bitwise-prof

fast multi-dimensional unboxed bit packed Bool arrays; profiling libraries

Description

Unboxed multidimensional bit packed Bool arrays with fast aggregate operations based on lifting Bool operations to bitwise operations.

There are many other bit packed structures out there, but none met all of these requirements:

(1) unboxed bit packed Bool array,

(2) multi-dimensional indexing,

(3) fast (de)serialization, or interoperable with foreign code,

(4) fast aggregate operations (fold, map, zip).

Quick tour of the bitwise library:

[Data.Bits.Bitwise] Lift boolean operations on 'Bool' to bitwise operations on 'Data.Bits.Bits'.

[Data.Array.BitArray] Immutable bit arrays.

[Data.Array.BitArray.ST] Mutable bit arrays in 'Control.Monad.ST.ST'.

[Data.Array.BitArray.IO] Mutable bit arrays in 'IO'.

[Data.Array.BitArray.ByteString] (De)serialization.

[Codec.Image.PBM] Portable bitmap monochrome 2D image format.

Very rough performance benchmarks:

* immutable random access single bit reads: @BitArray ix@ is about 40% slower than @UArray ix Bool@,

* 'Control.Monad.ST.ST' mutable random access single bit reads: @STBitArray s ix@ is about the same as @STUArray s ix Bool@,

* immutable map @Bool -> Bool@: @BitArray ix@ is about 85x faster than @UArray ix Bool@,

* immutable zipWith @Bool -> Bool -> Bool@: @BitArray ix@ is about 1300x faster than @UArray ix Bool@.

This package provides a library for the Haskell programming language, compiled for profiling. See http://www.haskell.org/ for more information on Haskell.

Upload more screenshots

Please help extend the collection of screenshots. Just make a screenshot and upload it here. You don't need to register or anything.

Upload a screenshot

Hint: upload an image here from your clipboard with Ctrl-V


Homepage

https://code.mathr.co.uk/bitwise


Install this software package

If the package is available for the distribution you are currently using on your computer then install the software by clicking on…

Install libghc-bitwise-prof