BigDataStatMeth achieves high performance through two key mechanisms:
Block-wise processing:
Large matrices are processed in chunks that fit in memory. The block_size
parameter controls chunk size. Smaller blocks use less memory but require more
I/O operations. Larger blocks are faster but require more RAM.
OpenMP parallelization:
Operations are distributed across CPU cores. The paral and threads
parameters control this. Parallelization provides near-linear speedup for
compute-intensive operations.
Compression:
Datasets are created with gzip compression (level 6 by default). This reduces
disk usage by 60-80\
For benchmarks or workflows where speed is critical, set compression = 0.
For long-term storage or large datasets, keep the default.
Priority:
Options set here serve as defaults. Individual method calls can override:
A$multiply(B, paral = TRUE, threads = 4, block_size = 2000)
Recommendations:
For interactive analysis: Leave defaults (NULL) - auto-detect works well
For scripts/HPC: Set explicitly based on your hardware and data size
For huge datasets (>10GB): Reduce block_size to fit in RAM
For many-core systems: Set threads explicitly (auto may be too aggressive)
For benchmarks: Set compression = 0 to eliminate gzip overhead