collapse
Advanced and Fast Data Transformation
collapse got a JSS paper and a 7x fmean speedup in the same release.
◆Recent moves
- 2mo ago
SIMD accumulators give fmean a 7x speedup without OpenMP
Multiple-accumulator SIMD optimization lands on the two most-used aggregators, roughly doubling fsum() and giving fmean() about seven times its previous speed on systems without OpenMP — precisely the machines that were worst served before. GRP.default() gains a drop argument for retaining unobserved factor level combinations, and the JSS paper becomes the package's primary citation.
View source ↗ - 7mo ago
Negative zero now hashes equal to zero across the package
A correctness change at the core: -0 and 0 are treated as the same value in every hash-based function, from funique() and group() through fmatch() and fmode(), implemented in sync with the equivalent change in Rcpp and accepting a roughly 3% hashing cost. The repository also moves to the fastverse organization with shared access.
View source ↗ - 8mo ago
collap() no longer double-aggregates external weights
When grouping was passed externally as columns or a GRP object, collap() aggregated the weights twice — once with the wrong function. A defect that produced plausible numbers rather than an error, which is the kind that survives longest.
View source ↗ - 9mo ago
Custom unlist() preserves attributes
A contributed internal replacement for unlist() that keeps attributes base R would discard, with a small speed gain alongside. Low-level groundwork that shows up as fewer surprises in the higher-level functions.
View source ↗ - 0y ago
Assorted bug fixes
Three referenced issues closed with no description of what changed. Nothing in the release record indicates user-visible effect.
View source ↗ - 1y ago
na_insert gains by-reference mode; gsplit and pivot speed up
A set argument lets na_insert() modify by reference rather than copy, consistent with the package's broader preference for avoiding allocation. Moderate speed gains reach gsplit(), BY() and pivot().
View source ↗