bit: A class for vectors of 1-bit booleans

Share:

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).

Author
Jens Oehlschlgel <Jens.Oehlschlaegel@truecluster.com>
Date of publication
2014-04-09 09:54:10
Maintainer
Jens Oehlschlgel <Jens.Oehlschlaegel@truecluster.com>
License
GPL-2
Version
1.1-12
URLs

View on CRAN

Files in this package

bit
bit/inst
bit/inst/README_devel.txt
bit/inst/ANNOUNCEMENT-1.0.txt
bit/exec
bit/exec/prebuild.sh
bit/exec/make_rd.pl
bit/src
bit/src/Makevars
bit/src/bit.c
bit/src/clone.c
bit/src/rle.c
bit/src/chunkutil.c
bit/src/attrutil.c
bit/NAMESPACE
bit/NEWS
bit/R
bit/R/rle.R
bit/R/clone.R
bit/R/bit.R
bit/R/generics.R
bit/R/timeutil.R
bit/R/attrutil.R
bit/R/chunkutil.R
bit/R/zzz.R
bit/MD5
bit/DESCRIPTION
bit/man
bit/man/bit-package.rd
bit/man/ri.rd
bit/man/repeat.time.rd
bit/man/regtest.bit.rd
bit/man/bbatch.rd
bit/man/as.bit.rd
bit/man/Summary.rd
bit/man/physical.rd
bit/man/rlepack.rd
bit/man/setattributes.rd
bit/man/repfromto.rd
bit/man/unattr.rd
bit/man/vecseq.rd
bit/man/as.which.rd
bit/man/bitwhich.rd
bit/man/is.sorted.rd
bit/man/LogicBit.rd
bit/man/as.logical.bit.rd
bit/man/is.bit.rd
bit/man/clone.rd
bit/man/c.bit.rd
bit/man/bit_init.rd
bit/man/chunk.rd
bit/man/length.bit.rd
bit/man/intrle.rd
bit/man/ramsort.rd
bit/man/as.bitwhich.rd
bit/man/Extract.rd