• tota's avatar
    - Add new port: devel/R-cran-bit · cd38a5e4
    tota authored
      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).
      WWW: https://cran.r-project.org/web/packages/bit/