cheapr
Simple Functions to Save Time and Memory
cheapr turned multi-threaded, and its next stop is a C++20 public API.
◆Recent moves
- 1mo ago
rep_len_ crash on shrinking lengths fixed
A single crash fix where rep_len_(x, n) brought down the session when n was smaller than the input. Narrow patch work in the consolidation window after 1.5.0.
View source ↗ - 4mo ago
Non-API R internals removed
Four non-API entry points — R_MissingArg, R_UnboundValue, Rf_findVar and Rf_findVarinFrame — are gone from the C sources. Invisible from R, but it is what keeps a package that exports C symbols to others viable as the public API narrows.
View source ↗ - 4mo ago
Parallelised math, thread control, and a C API rewrite
⚡ SPARKThe release that redefines what cheapr is: a single-threaded shortcut library becomes a threaded compute layer, with the C/C++ API rebuilt underneath and a 2.0.0 break pre-announced. Everything in the 1.5.x line since has been consolidation on this foundation.
View source ↗ - 1y ago
Subsetting speedups; sset_col negative-index crash fixed
Substantial speed gains in subsetting — the package's core claim — plus a fix for sset_col() crashing on negative subscripts. Incremental sharpening of the pre-parallelism single-threaded design.
View source ↗ - 1y ago
df_modify added; attribute helpers renamed for intent
df_modify() lands as a fast path for adding and changing data frame columns, attrs_add/attrs_rm become attrs_modify/attrs_clear, and as_df is normalised to return a plain data.frame with three attributes. A correctness fix stops recycle from modifying lists in place.
View source ↗ - 1y ago
counts and str_coalesce added; reconstruct renamed to rebuild
Two new primitives — fast unique-value counts and a vectorised first-non-empty-string helper — plus an integer64 subsetting method and rchk fixes. The reconstruct-to-rebuild rename is flagged as breaking, part of the naming cleanup that continues into 1.3.1.
View source ↗