← Back to home
Comparison · Analytics

broadcast vs collapse

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

Shared themes:r-package

broadcast vs collapse: at a glance

Featurebroadcastcollapse
SectorAnalyticsAnalytics
Velocity score0.00.0
Sparks · 30d00
Top themesarray-broadcasting, rcpp, type-consistency, linear-algebradata-transformation, performance, simd, grouped-statistics
Last editorial update1h ago1h ago
WebsiteVisit →Visit →

What is broadcast?

broadcast is filling in NumPy-style array broadcasting for R, operator by operator.

broadcast brings dimension-broadcasting semantics to R arrays and lists — elementwise operations between arrays of mismatched shape, plus casting methods between hierarchical lists and dimensional structures. It reached CRAN in September 2025 and has released roughly monthly since, accumulating operators (nor, nand, longest common substring), casting methods (cast_shallow2atomic, cast_hier2dim, hiernames2dimnames), and helpers (vector2array, undim, mbroadcasters).

Read the full broadcast trajectory →

What is collapse?

collapse got a JSS paper and a 7x fmean speedup in the same release.

collapse provides fast grouped statistical computing and data transformation for R, built on a C backend with its own grouping, hashing and aggregation primitives. The 2.1.x line is a maintenance and optimization series: SIMD multiple-accumulator work delivering roughly 2x on fsum() and 7x on fmean() for systems without OpenMP, a custom internal unlist() with better attribute preservation, and a steady stream of correctness fixes in collap(), pivot() and roworderv().

Read the full collapse trajectory →

broadcast vs collapse: editorial side-by-side

B
broadcast
ANALYTICS
0.0

broadcast is filling in NumPy-style array broadcasting for R, operator by operator.

◆ Current state

broadcast brings dimension-broadcasting semantics to R arrays and lists — elementwise operations between arrays of mismatched shape, plus casting methods between hierarchical lists and dimensional structures. It reached CRAN in September 2025 and has released roughly monthly since, accumulating operators (nor, nand, longest common substring), casting methods (cast_shallow2atomic, cast_hier2dim, hiernames2dimnames), and helpers (vector2array, undim, mbroadcasters).

◆ Where it's heading

The package is in its post-launch consolidation year, and the release notes read accordingly: roughly half of each entry is a consistency correction rather than an addition. Zero-length results now carry the right type, comparison operators accept integer and logical inputs, the comment attribute survives operations, and the nand operator was found to be wrongly defined against C++ short-circuit evaluation. That ratio is what a young package looks like while its edge cases are being found.

◆ Prediction

Expect more operators and casting methods on the same cadence, with continued type-consistency corrections as users exercise unusual input combinations. Nothing in the entries points at an architectural change.

C
collapse
ANALYTICS
0.0

collapse got a JSS paper and a 7x fmean speedup in the same release.

◆ Current state

collapse provides fast grouped statistical computing and data transformation for R, built on a C backend with its own grouping, hashing and aggregation primitives. The 2.1.x line is a maintenance and optimization series: SIMD multiple-accumulator work delivering roughly 2x on fsum() and 7x on fmean() for systems without OpenMP, a custom internal unlist() with better attribute preservation, and a steady stream of correctness fixes in collap(), pivot() and roworderv().

◆ Where it's heading

The package is consolidating institutionally as much as technically. The repository moved to the fastverse organization with multiple people granted access, the Journal of Statistical Software paper landed as the primary citation, and documentation now includes an AI-generated interactive layer. Technically the focus is the hashing and grouping core — the decision to treat -0 and 0 as equal across funique(), group(), fmatch(), fmode() and their derivatives was made in sync with an equivalent change in Rcpp, and accepted a measured 3% cost to get it. The last release with breaking changes sits outside this six-entry window.

◆ Prediction

Expect further targeted performance work on the grouped statistical functions and continued small correctness fixes; the governance move to fastverse suggests contribution volume rather than direction is what the maintainer is managing.

Alternatives to broadcast and collapse

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 broadcast or collapse.

See all broadcast alternatives → · See all collapse alternatives →

Recent activity from broadcast and collapse

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

  1. 2mo agobroadcastnor and longest-common-substring operators added; nand corrected
  2. 2mo agocollapseSIMD accumulators give fmean a 7x speedup without OpenMP
  3. 5mo agobroadcastcheckNULL, checkNA and ecumprob added
  4. 7mo agocollapseNegative zero now hashes equal to zero across the package
  5. 8mo agobroadcastZero-length results and attribute preservation made consistent
  6. 8mo agocollapsecollap() no longer double-aggregates external weights
  7. 9mo agobroadcastacast dimnames bug fixed; casting and helper surface widens
  8. 9mo agocollapseCustom unlist() preserves attributes
  9. 10mo agobroadcastrecurse_classed replaced by recurse_all in casting methods
  10. 11mo agobroadcastTitle case fixed for CRAN submission
  11. 0y agocollapseAssorted bug fixes
  12. 1y agocollapsena_insert gains by-reference mode; gsplit and pivot speed up

Frequently asked questions

What is the difference between broadcast and collapse?

Both compete on the same themes — r-package — within Analytics. broadcast and collapse 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 broadcast better than collapse?

Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. broadcast and collapse 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 broadcast?

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

What are the best alternatives to collapse?

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