[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