← Back to home
Comparison · Analytics

cheapr vs filearray

A side-by-side editorial comparison of cheapr and filearray — release velocity, themes, recent moves, and the top alternatives to consider.

Shared themes:performance

cheapr vs filearray: at a glance

Featurecheaprfilearray
SectorAnalyticsAnalytics
Velocity score0.00.0
Sparks · 30d00
Top themesperformance, parallelism, simd, c-apion-disk-arrays, memory-safety, c++, performance
Last editorial update1h ago1h ago
WebsiteVisit →Visit →

What is cheapr?

cheapr turned multi-threaded, and its next stop is a C++20 public API.

cheapr supplies lower-overhead replacements for base R's data manipulation primitives — subsetting, recycling, concatenation, attribute handling, data frame construction. Through 2025 it grew function by function: sset_df/sset_row/sset_col, list_as_df, cheapr_c, counts, str_coalesce, df_modify. The 1.5.0 release in April 2026 changed the nature of the package, adding parallelised math functions, user-settable thread counts, multi-threaded vector initialisers, and a SIMD-parallelised if_else_, with threading on by default at two threads.

Read the full cheapr trajectory →

What is filearray?

The on-disk array layer under RAVE spends its releases hunting segfaults.

filearray stores large arrays on disk and reads them back with little memory overhead, serving as the storage substrate for the RAVE intracranial EEG stack. The 0.2.2 release fixes out-of-bound indexing that caused segfaults along certain margins and an ASAN-flagged signed integer overflow in the load path. The user-facing API has been stable since 0.1.6.

Read the full filearray trajectory →

cheapr vs filearray: editorial side-by-side

C
cheapr
ANALYTICS
0.0

cheapr turned multi-threaded, and its next stop is a C++20 public API.

◆ Current state

cheapr supplies lower-overhead replacements for base R's data manipulation primitives — subsetting, recycling, concatenation, attribute handling, data frame construction. Through 2025 it grew function by function: sset_df/sset_row/sset_col, list_as_df, cheapr_c, counts, str_coalesce, df_modify. The 1.5.0 release in April 2026 changed the nature of the package, adding parallelised math functions, user-settable thread counts, multi-threaded vector initialisers, and a SIMD-parallelised if_else_, with threading on by default at two threads.

◆ Where it's heading

Two arcs run at once. The visible one is parallelism: what began as single-threaded C shortcuts is becoming a threaded compute layer, and the notes state the C/C++ API is mid-rewrite with a stable form promised at 2.0.0 behind a C++20 requirement. The quieter one is R C API compliance — 1.5.1 removed R_MissingArg, R_UnboundValue, Rf_findVar and Rf_findVarinFrame, the non-API entry points being closed off upstream. The 1.5.x patches since are narrow crash fixes, which reads as consolidation before the 2.0.0 break.

◆ Prediction

Expect 2.0.0 to land the stable C/C++ API behind a C++20 toolchain floor, with more of the existing function surface threaded in the interim. The package has announced both moves in its own release notes.

F
filearray
ANALYTICS
0.0

The on-disk array layer under RAVE spends its releases hunting segfaults.

◆ Current state

filearray stores large arrays on disk and reads them back with little memory overhead, serving as the storage substrate for the RAVE intracranial EEG stack. The 0.2.2 release fixes out-of-bound indexing that caused segfaults along certain margins and an ASAN-flagged signed integer overflow in the load path. The user-facing API has been stable since 0.1.6.

◆ Where it's heading

This is infrastructure whose release history reads as a memory-safety log: unprotected C++ variables, buffer sizes exceeding array length, allocations one byte short, endianness on big-endian platforms, and now out-of-bound margins caught by sanitizers. The one sustained feature direction is reducing the cost of operating on arrays too large for memory — lazy operator evaluation through a proxy class, fmap-style application, and marginal collapse. Portability work has steadily removed hard requirements, dropping the C++11 declaration and swapping OpenMP for TinyThreads to get parallelism on macOS.

◆ Prediction

Expect continued sanitizer-driven patches rather than new interfaces; the three-year gap before 0.2.2 suggests releases now arrive only when a crash or a CRAN check demands one.

Alternatives to cheapr and filearray

Other Analytics products tracked by Sparkpulse, ranked by recent ship velocity. Each card links to a full editorial trajectory and lets you pivot into a head-to-head comparison with either cheapr or filearray.

See all cheapr alternatives → · See all filearray alternatives →

Recent activity from cheapr and filearray

Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.

  1. 1mo agocheaprrep_len_ crash on shrinking lengths fixed
  2. 2mo agofilearraySegfault on out-of-bound margins fixed
  3. 4mo agocheaprNon-API R internals removed
  4. 4mo agocheaprParallelised math, thread control, and a C API rewrite
  5. 1y agocheaprSubsetting speedups; sset_col negative-index crash fixed
  6. 1y agocheaprdf_modify added; attribute helpers renamed for intent
  7. 1y agocheaprcounts and str_coalesce added; reconstruct renamed to rebuild
  8. 3y agofilearrayLazy operator evaluation and macOS parallelism
  9. 3y agofilearraySequential read bug in fmap corrected
  10. 4y agofilearrayPartition limit removed by opening files on demand
  11. 4y agofilearrayHeader signatures and symbolic link detection
  12. 4y agofilearrayFlush timing left to the operating system

Frequently asked questions

What is the difference between cheapr and filearray?

Both compete on the same themes — performance — within Analytics. cheapr and filearray are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.

Is cheapr better than filearray?

Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. cheapr and filearray are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). For your specific use case, the alternatives sections above list other Analytics products to evaluate alongside.

What are the best alternatives to cheapr?

Top cheapr alternatives in Analytics are ranked by recent ship velocity. Browse the "cheapr alternatives" section above for the current picks, or visit /alternatives/cheapr-r for the full list with editorial commentary on each.

What are the best alternatives to filearray?

Top filearray alternatives in Analytics are ranked by recent ship velocity. Browse the "filearray alternatives" section above for the current picks, or visit /alternatives/filearray-r for the full list with editorial commentary on each.