How kaneplusplus/bigmemory works
bigmemory is an R package for creating, sharing, accessing, and manipulating large matrix-like objects, with a C++ accessor framework. The principal workflow is an R user creating or attaching a big.matrix, accessing or transforming its elements, and optionally persisting changes through file-backed storage. The graph reflects documented features and sampled native implementation; unsampled R definitions and operation wiring are represented only at the package-interface level.
Main entry points: BigMatrix.h BigMatrix types · bigmemory.R Matrix API · RcppExports.cpp Rcpp entry points · bigmemory.cpp Matrix operations
Components 13
R interface
- Matrix API
R/bigmemory.R - Native bindings
R/RcppExports.R
Native operations
- Rcpp entry points
src/RcppExports.cpp - Matrix operations
src/bigmemory.cpp - Deep copy
src/deepcopy.cpp
Matrix storage
- Local matrices
src/BigMatrix.cpp - Shared lifetime
src/SharedCounter.cpp - Shared memory
src/BigMatrix.cpp - Mapped files
src/BigMatrix.cpp
C++ framework
- BigMatrix types
inst/include/bigmemory/BigMatrix.h - Typed accessors
inst/include/bigmemory/MatrixAccessor.hpp
Other components
- R user
- Extension packages
Connections 14
- R user → Matrix API: uses
- Matrix API → Native bindings: invokes
- Native bindings → Rcpp entry points: dispatches
- Rcpp entry points → Matrix operations: calls
- Rcpp entry points → Deep copy: calls
- Matrix operations → BigMatrix types: operates on
- Deep copy → BigMatrix types: copies between
- Matrix operations → Typed accessors: accesses data
- Deep copy → Typed accessors: accesses data
- BigMatrix types → Local matrices: allocates locally
- BigMatrix types → Shared memory: uses shared storage
- BigMatrix types → Mapped files: uses mapped storage
- Shared memory → Shared lifetime: tracks usage
- Matrix API → Extension packages: supports extensions