compact-word-vectors alternatives and similar packages
Based on the "compact" category.
Alternatively, view compact-word-vectors alternatives based on common mentions on social networks and blogs.
Do you think we are missing an alternative of compact-word-vectors or a related project?
This a (GHC) Haskell library, which implements a data structure designed to store vectors of small integers with minimal memory overhead.
For vectors of non-negative integers, see the module
WordVec; for signed
integers (which is a bit slower) see
IntVec. The underlying raw binary storage
is implemented in
For example the list
[1..14] :: [Int] consumes 560 bytes (70 words) on
a 64 bit machine, while the corresponding
WordVec takes only
16 bytes (2 words), and the one corresponding to
[101..115] still only
24 bytes (3 words).
Unboxed arrays (
UArray) or unboxed vectors (
are better than lists, as they only have a constant overhead, but those
constants are big: 13 words (104 bytes on 64 bit) for unboxed arrays,
and 6 words (48 bytes) for unboxed vectors. And you still have to select
the number of bits per element in advance.
It's on Hackage: https://hackage.haskell.org/package/compact-word-vectors So you can install it using cabal:
$ cabal update $ cabal install --lib compact-word-vectors