[R-pkgs] New package: bit 1.0
Jens Oehlschlägel
jens.oehlschlaegel at truecluster.com
Fri Oct 10 18:08:51 CEST 2008
Dear R community,
Package 'bit' Version 1.0 is available on CRAN.
It 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. With this speed gain it even
pays-off to convert to bit in order to avoid a single boolean operation on
logicals or a single set operation on (longer) integer subscripts, the pay-off
is dramatic 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%.
Functions 'which' and 'xor' are made S3 generic, 'xor.default' is implemented
much faster than in base R (this should go into base R).
The package has automated regression-tests and is hopefully useful for better
handling large datasets, together with packages 'rindex' and 'ff'.
Best regards
Jens Oehlschlägel
Munich, 10.10.2008
More information about the R-packages
mailing list