[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#873270: ITP: r-cran-bit -- GNU R class for vectors of 1-bit booleans

Package: wnpp
Severity: wishlist
Owner: Andreas Tille <tille@debian.org>

* Package name    : r-cran-bit
  Version         : 1.1-12
  Upstream Author : Jens Oehlschlägel <Jens.Oehlschlaegel@truecluster.com>
* URL             : https://cran.r-project.org/package=bit
* License         : GPL
  Programming Lang: GNU R
  Description     : GNU R class for vectors of 1-bit booleans
 This GNU R package provides bitmapped vectors of booleans (no NAs),
 coercion from and to logicals, integers and integer subscripts;
 fast boolean operators and fast summary statistics.
 With 'bit' vectors you can store true binary booleans {FALSE,TRUE} at the
 expense of 1 bit only, on a 32 bit architecture this means factor 32 less
 RAM and ~ factor 32 more speed on boolean operations. Due to overhead of
 R calls, actual speed gain depends on the size of the vector: expect gains
 for vectors of size > 10000 elements. Even for one-time boolean operations
 it can pay-off to convert to bit, the pay-off is obvious, when such
 components are used more than once.
 Reading from and writing to bit is approximately as fast as accessing
 standard logicals - mostly due to R's time for memory allocation. The package
 allows to work with pre-allocated memory for return values by calling .Call()
 directly: when evaluating the speed of C-access with pre-allocated vector
 memory, coping from bit to logical requires only 70% of the time for copying
 from logical to logical; and copying from logical to bit comes at a
 performance penalty of 150%. the package now contains further classes for
 representing logical selections: 'bitwhich' for very skewed selections and
 'ri' for selecting ranges of values for chunked processing. All three index
 classes can be used for subsetting 'ff' objects (ff-2.1-0 and higher).

Remark: This package is needed to upgrade r-cran-rsqlite to the latest
upstream version.  It will be maintained by the Debian Med team at

Reply to: