From 623545cb1ba05eb2ca1ffa335552d8f215d8efef Mon Sep 17 00:00:00 2001 From: nishita-shah1 Date: Mon, 29 Jun 2026 04:53:12 +0530 Subject: [PATCH 1/4] fix/258-getcommonChunk code in C++ --- src/get_common_chunk.cpp | 319 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 319 insertions(+) create mode 100644 src/get_common_chunk.cpp diff --git a/src/get_common_chunk.cpp b/src/get_common_chunk.cpp new file mode 100644 index 00000000..86aff710 --- /dev/null +++ b/src/get_common_chunk.cpp @@ -0,0 +1,319 @@ +#include +#include +#include +#include +#include + +using namespace Rcpp; + +namespace { + +inline bool is_na_sexp(SEXP x) { + switch (TYPEOF(x)) { + case REALSXP: + return ISNA(REAL(x)[0]); + case INTSXP: + return INTEGER(x)[0] == NA_INTEGER; + case LGLSXP: + return LOGICAL(x)[0] == NA_LOGICAL; + case STRSXP: + return STRING_ELT(x, 0) == NA_STRING; + default: + return false; + } +} + +inline bool equal_sexp(SEXP a, SEXP b) { + if (a == R_NilValue && b == R_NilValue) return true; + if (a == R_NilValue || b == R_NilValue) return false; + if (TYPEOF(a) != TYPEOF(b)) return false; + switch (TYPEOF(a)) { + case REALSXP: { + double da = REAL(a)[0], db = REAL(b)[0]; + if (ISNA(da) && ISNA(db)) return true; + return da == db; + } + case INTSXP: { + int da = INTEGER(a)[0], db = INTEGER(b)[0]; + if (da == NA_INTEGER && db == NA_INTEGER) return true; + return da == db; + } + case LGLSXP: { + int da = LOGICAL(a)[0], db = LOGICAL(b)[0]; + if (da == NA_LOGICAL && db == NA_LOGICAL) return true; + return da == db; + } + case STRSXP: + return STRING_ELT(a, 0) == STRING_ELT(b, 0); + default: + return false; + } +} + +SEXP get_elem(SEXP col, int i) { + switch (TYPEOF(col)) { + case REALSXP: + return Rf_ScalarReal(REAL(col)[i]); + case INTSXP: + return Rf_ScalarInteger(INTEGER(col)[i]); + case LGLSXP: + return Rf_ScalarLogical(LOGICAL(col)[i]); + case STRSXP: + return Rf_ScalarString(STRING_ELT(col, i)); + default: + return R_NilValue; + } +} + +bool all_equal_na_rm_matrix(const std::vector& values, + const std::vector& ref, + int group_size) { + const bool ref_scalar = ref.size() == 1; + for (size_t i = 0; i < values.size(); ++i) { + if (is_na_sexp(values[i])) continue; + const int row = static_cast(i % group_size); + const SEXP r = ref_scalar ? ref[0] : ref[row]; + if (!equal_sexp(values[i], r)) return false; + } + return true; +} + +SEXP first_non_na(const std::vector& row_values) { + for (size_t i = 0; i < row_values.size(); ++i) { + if (!is_na_sexp(row_values[i])) return row_values[i]; + } + return row_values.empty() ? R_NilValue : row_values[0]; +} + +bool all_refs_equal(const std::vector& refs) { + if (refs.empty()) return true; + for (size_t i = 1; i < refs.size(); ++i) { + if (!equal_sexp(refs[0], refs[i])) return false; + } + return true; +} + +bool all_values_unique_one(const std::vector& values) { + if (values.empty()) return false; + for (size_t i = 1; i < values.size(); ++i) { + if (!equal_sexp(values[0], values[i])) return false; + } + return true; +} + +List common_value_for_group_subset_cpp(const std::vector >& chunk_values) { + std::vector lvec(chunk_values.size()); + std::vector value_vec; + for (size_t c = 0; c < chunk_values.size(); ++c) { + lvec[c] = static_cast(chunk_values[c].size()); + value_vec.insert(value_vec.end(), chunk_values[c].begin(), chunk_values[c].end()); + } + if (lvec.size() > 0 && std::equal(lvec.begin() + 1, lvec.end(), lvec.begin())) { + const int group_size = lvec[0]; + const int nchunks = static_cast(lvec.size()); + std::vector min_na_vec; + min_na_vec.reserve(group_size); + for (int row = 0; row < group_size; ++row) { + std::vector row_values; + row_values.reserve(nchunks); + for (int col = 0; col < nchunks; ++col) { + row_values.push_back(value_vec[row + col * group_size]); + } + min_na_vec.push_back(first_non_na(row_values)); + } + std::vector ref = min_na_vec; + if (all_refs_equal(min_na_vec)) { + ref.assign(1, min_na_vec[0]); + } + const bool is_common = all_equal_na_rm_matrix(value_vec, ref, group_size); + if (ref.size() == 1) { + return List::create( + Named("common") = List::create(ref[0]), + Named("is.common") = is_common + ); + } + return List::create( + Named("common") = List(min_na_vec.begin(), min_na_vec.end()), + Named("is.common") = is_common + ); + } + if (all_values_unique_one(value_vec)) { + return List::create( + Named("common") = List::create(value_vec[0]), + Named("is.common") = true + ); + } + return List::create( + Named("common") = List(), + Named("is.common") = false + ); +} + +IntegerVector factor_to_int(SEXP x) { + if (Rf_isFactor(x)) { + return IntegerVector(x); + } + if (TYPEOF(x) == INTSXP) { + return IntegerVector(x); + } + CharacterVector chr = as(x); + IntegerVector out(chr.size()); + std::unordered_map levels; + int next_level = 1; + for (int i = 0; i < chr.size(); ++i) { + if (CharacterVector::is_na(chr[i])) { + out[i] = NA_INTEGER; + continue; + } + std::string key = as(chr[i]); + std::unordered_map::iterator it = levels.find(key); + if (it == levels.end()) { + levels[key] = next_level; + out[i] = next_level; + ++next_level; + } else { + out[i] = it->second; + } + } + return out; +} + +struct PairKey { + int col; + int group_key; + bool operator==(const PairKey& other) const { + return col == other.col && group_key == other.group_key; + } +}; + +struct PairKeyHash { + std::size_t operator()(const PairKey& k) const { + return static_cast(k.col) * 1000003u + static_cast(k.group_key); + } +}; + +struct ChunkData { + std::vector values; + int first_row; +}; + +SEXP build_group_output(const std::vector& groups, SEXP template_group) { + const int n = static_cast(groups.size()); + switch (TYPEOF(template_group)) { + case REALSXP: { + NumericVector out(n); + for (int i = 0; i < n; ++i) out[i] = REAL(groups[i])[0]; + return out; + } + case INTSXP: { + IntegerVector out(n); + for (int i = 0; i < n; ++i) out[i] = INTEGER(groups[i])[0]; + return out; + } + case LGLSXP: { + LogicalVector out(n); + for (int i = 0; i < n; ++i) out[i] = LOGICAL(groups[i])[0]; + return out; + } + case STRSXP: { + CharacterVector out(n); + for (int i = 0; i < n; ++i) out[i] = STRING_ELT(groups[i], 0); + return out; + } + default: + return List(groups.begin(), groups.end()); + } +} + +} // namespace + +// [[Rcpp::export]] +List detect_common_value_dt_cpp(DataFrame built, + CharacterVector col_name_vec, + CharacterVector chunk_vars) { + const int n = built.nrows(); + SEXP group_col = built["group"]; + IntegerVector group_key = factor_to_int(group_col); + + IntegerVector chunk_key(n); + if (chunk_vars.size() == 1) { + chunk_key = factor_to_int(built[as(chunk_vars[0])]); + } else { + CharacterVector combo(n); + for (int i = 0; i < n; ++i) { + std::string key; + for (int v = 0; v < chunk_vars.size(); ++v) { + if (v > 0) key += "\1"; + SEXP col = built[as(chunk_vars[v])]; + key += as(as(col)[i]); + } + combo[i] = key; + } + chunk_key = factor_to_int(combo); + } + + typedef std::unordered_map ChunkMap; + std::unordered_map buckets; + std::unordered_map original_group; + + for (int j = 0; j < col_name_vec.size(); ++j) { + const std::string col_name = as(col_name_vec[j]); + SEXP col = built[col_name]; + for (int i = 0; i < n; ++i) { + PairKey key; + key.col = j + 1; + key.group_key = group_key[i]; + if (original_group.find(key) == original_group.end()) { + original_group[key] = get_elem(group_col, i); + } + ChunkData& chunk = buckets[key][chunk_key[i]]; + if (chunk.values.empty()) { + chunk.first_row = i; + } + chunk.values.push_back(get_elem(col, i)); + } + } + + std::vector out_col; + std::vector out_group; + std::vector out_is_common; + List out_common; + + out_col.reserve(buckets.size()); + out_group.reserve(buckets.size()); + out_is_common.reserve(buckets.size()); + out_common = List(static_cast(buckets.size())); + + int out_i = 0; + for (std::unordered_map::iterator it = buckets.begin(); + it != buckets.end(); ++it, ++out_i) { + out_col.push_back(as(col_name_vec[it->first.col - 1])); + out_group.push_back(original_group[it->first]); + + std::vector chunk_ids; + chunk_ids.reserve(it->second.size()); + for (ChunkMap::iterator cit = it->second.begin(); cit != it->second.end(); ++cit) { + chunk_ids.push_back(cit->first); + } + std::sort(chunk_ids.begin(), chunk_ids.end(), [&](int a, int b) { + return it->second[a].first_row < it->second[b].first_row; + }); + + std::vector > chunk_values; + chunk_values.reserve(chunk_ids.size()); + for (size_t c = 0; c < chunk_ids.size(); ++c) { + chunk_values.push_back(it->second[chunk_ids[c]].values); + } + + List one = common_value_for_group_subset_cpp(chunk_values); + out_is_common.push_back(as(one["is.common"])); + out_common[out_i] = one["common"]; + } + + return List::create( + Named("col.name") = CharacterVector(out_col.begin(), out_col.end()), + Named("group") = build_group_output(out_group, group_col), + Named("common") = out_common, + Named("is.common") = LogicalVector(out_is_common.begin(), out_is_common.end()) + ); +} From 3e9299b218c08a6fbb156e20168a4a9f1dfa04f8 Mon Sep 17 00:00:00 2001 From: nishita-shah1 Date: Wed, 1 Jul 2026 10:51:48 +0530 Subject: [PATCH 2/4] fix/258-getcommonChunk code in C++ and add vignettes --- .ci/atime/tests.R | 18 +- DESCRIPTION | 5 +- NAMESPACE | 1 + NEWS.md | 7 + R/RcppExports.R | 4 + R/z_animintHelpers.R | 86 +- src/RcppExports.cpp | 29 + src/get_common_chunk.cpp | 348 ++---- src/get_common_chunk.o | Bin 0 -> 975701 bytes tests/testthat/test-compiler-getCommonChunk.R | 158 +++ vignettes/get-common-chunk-cpp.html | 1000 +++++++++++++++++ 11 files changed, 1373 insertions(+), 283 deletions(-) create mode 100644 R/RcppExports.R create mode 100644 src/RcppExports.cpp create mode 100644 src/get_common_chunk.o create mode 100644 tests/testthat/test-compiler-getCommonChunk.R create mode 100644 vignettes/get-common-chunk-cpp.html diff --git a/.ci/atime/tests.R b/.ci/atime/tests.R index ef0b910b..af47079f 100644 --- a/.ci/atime/tests.R +++ b/.ci/atime/tests.R @@ -10,5 +10,21 @@ test.list <- atime::atime_test_list( }, seconds.limit=1, Slow="352f7e10040cb9de6ddd16416d342e9746c14c7a", # Parent of the first commit (https://github.com/animint/animint2/commit/121a11399e7d6ca6c822cd22472886c6d4d8cf10) of the PR (https://github.com/animint/animint2/pull/238/commits). - Fast="30950779702e6c8aeecd24aeb737c9fa5ce898e0") # Last commit in the PR (https://github.com/animint/animint2/pull/238/commits). + Fast="30950779702e6c8aeecd24aeb737c9fa5ce898e0"), # Last commit in the PR (https://github.com/animint/animint2/pull/238/commits). + ## Post-#242 workload with NA groups and multiple common columns (#258) + "getCommonChunk post-#242 NA workload"=atime::atime_test( + expr=animint2:::getCommonChunk(built, "showSelected", list(group="group")), + setup={ + N <- 2000 + built <- data.table( + x=rep(1:5, length.out=N), + y=rnorm(N), + colour="foo", + group=rep(seq_len(N/4), each=4), + showSelected=rep(1:2, each=N/2), + na_group=rep(c(0,0,1,0), length.out=N), + row_in_group=rep(1:4, length.out=N) + ) + }, + seconds.limit=2) ) diff --git a/DESCRIPTION b/DESCRIPTION index 7d97b752..811bcdab 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -89,7 +89,8 @@ Imports: stats, knitr (>= 1.5.33), data.table (>= 1.9.8), - methods + methods, + Rcpp Suggests: gert, gitcreds, gh, sp, @@ -117,6 +118,7 @@ Suggests: chromote, magick License: GPL-3 +LinkingTo: Rcpp Encoding: UTF-8 LazyData: true Collate: @@ -229,6 +231,7 @@ Collate: 'position-stack.r' 'quick-plot.r' 'range.r' + 'RcppExports.R' 'save.r' 'scale-.r' 'scale-alpha.r' diff --git a/NAMESPACE b/NAMESPACE index 8f94a398..310a4b8f 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -526,3 +526,4 @@ importFrom(utils,packageVersion) importFrom(utils,str) importFrom(utils,tail) importFrom(utils,write.table) +useDynLib(animint2, .registration = TRUE) diff --git a/NEWS.md b/NEWS.md index 7c10aef3..ce16cdfb 100644 --- a/NEWS.md +++ b/NEWS.md @@ -2,6 +2,13 @@ - `geom(showSelected=character())` means to opt-out of interactive legends. Thanks @ANAMASGARD. +# Changes in version TBD (issue #258) + +- `getCommonChunk()` uses `detect_common_value_dt()` with a C++ fast path and per-column R fallback instead of the old nested per-column scan. +- `common_value_for_group_subset_cpp()` in C++ accelerates the inner compare in `getCommonChunk()`; R handles grouping; R fallback when unavailable. +- New unit tests in `test-compiler-getCommonChunk.R`. +- New atime benchmark for post-#242 NA common-chunk workload. Thanks @nishita-shah1 + # Changes in version 2026.3.8 (PR#311) - `geom_dotplot()` has been removed. Use `geom_point()` instead for interactive visualizations. (Fixed #289) diff --git a/R/RcppExports.R b/R/RcppExports.R new file mode 100644 index 00000000..a213c659 --- /dev/null +++ b/R/RcppExports.R @@ -0,0 +1,4 @@ +common_value_for_group_subset_cpp <- function(value_lists) { + .Call(`_animint2_common_value_for_group_subset_cpp`, value_lists) +} + diff --git a/R/z_animintHelpers.R b/R/z_animintHelpers.R index 0fa7791a..4468d2d4 100644 --- a/R/z_animintHelpers.R +++ b/R/z_animintHelpers.R @@ -761,6 +761,66 @@ getTextSize <- function(element.name, theme){ paste(input.size, "pt", sep="") } +##' Common values for one (column, group) across chunk.vars subsets. +##' @param value_lists list of atomic vectors, one per chunk.vars level. +##' @return list with common (list of length 1) and is.common (logical). +##' @keywords internal +common_value_for_group_subset <- function(value_lists){ + if(isTRUE(getOption("animint2.use.cpp", TRUE))){ + cpp_out <- tryCatch( + common_value_for_group_subset_cpp(value_lists), + error=function(e) NULL + ) + if(!is.null(cpp_out)) return(cpp_out) + } + lvec <- vapply(value_lists, length, integer(1)) + value.vec <- unlist(value_lists, use.names=FALSE) + if(length(lvec) > 0 && all(lvec[1] == lvec)){ + group.size <- lvec[1] + m <- matrix(value.vec, group.size) + min.na.vec <- apply(m, 1, function(x) x[!is.na(x)][1]) + if(length(unique(min.na.vec)) == 1){ + min.na.vec <- min.na.vec[1] + } + list( + common=list(min.na.vec), + is.common=all(m == min.na.vec, na.rm=TRUE) + ) + }else if(length(unique(value.vec)) == 1){ + list(common=list(value.vec[1]), is.common=TRUE) + }else{ + list(common=list(), is.common=FALSE) + } +} + +##' Detect common column values for each group. +##' Grouping stays in R; inner compare may use C++ via +##' common_value_for_group_subset(). +##' @param built data.table keyed by group and chunk.vars. +##' @param col.name.vec candidate column names. +##' @param chunk.vars chunk variable names. +##' @return data.table with col.name, group, common, is.common. +##' @keywords internal +detect_common_value_dt <- function(built, col.name.vec, chunk.vars){ + group <- col.name <- value <- common <- is.common <- NULL + if(length(col.name.vec) == 0){ + return(data.table( + col.name=character(), + group=integer(), + common=list(), + is.common=logical() + )) + } + chunk.cols <- chunk.vars + rbindlist(lapply(col.name.vec, function(cn) { + built[, { + group_dt <- .SD[, list(value_list = list(get(cn))), by = chunk.cols] + cv <- common_value_for_group_subset(group_dt$value_list) + list(common = cv$common, is.common = cv$is.common) + }, by = group][, col.name := cn] + })) +} + ##' Save the common columns for each tsv to one chunk ##' @param built data.frame of built data. ##' @param chunk.vars which variables to chunk on. @@ -797,8 +857,6 @@ getCommonChunk <- function(built, chunk.vars, aes.list){ g_chunk <- c("group", chunk.vars) setkeyv(built, g_chunk) group_size_dt <- built[, .(size=.N), by=c("group",chunk.vars)] - ## first_ss_dt <- built[, .SD[1], by=group, .SDcols=chunk.vars] - ## setkeyv(first_ss_dt, g_chunk) ss_count_dt <- group_size_dt[, .( showSelected_values=.N, min_size=min(size), @@ -806,28 +864,8 @@ getCommonChunk <- function(built, chunk.vars, aes.list){ ), by=group] groups_in_several_ss <- ss_count_dt[showSelected_values>1] if(nrow(groups_in_several_ss)==0)return(NULL) - common_value_dt <- data.table(col.name=col.name.vec)[, { - built[, { - group_dt <- .SD[, list(value_list=list(get(col.name))), by=chunk.vars] - lvec <- sapply(group_dt$value_list, length) - value.vec <- unlist(group_dt$value_list) - if(all(lvec[1]==lvec)){ - group.size <- lvec[1] - m <- matrix(value.vec, group.size) - min.na.vec <- apply(m,1,function(x)x[!is.na(x)][1]) - if(length(unique(min.na.vec))==1){ - min.na.vec <- min.na.vec[1] - } - is.common <- all(m==min.na.vec,na.rm=TRUE) - ##if(anyNA(min.na.vec))is.common <- FALSE #TODO maybe could relax? - data.table(common=list(min.na.vec), is.common) - }else if(length(unique(value.vec))==1){ - data.table(common=list(value.vec[1]), is.common=TRUE) - }else{ - data.table(common=list(), is.common=FALSE) - } - }, by=group] - }, keyby=col.name] + common_value_dt <- detect_common_value_dt(built, col.name.vec, chunk.vars) + setkeyv(common_value_dt, "col.name") common_var_dt <- common_value_dt[, .( all.common=all(is.common) ), keyby=col.name] diff --git a/src/RcppExports.cpp b/src/RcppExports.cpp new file mode 100644 index 00000000..823489c9 --- /dev/null +++ b/src/RcppExports.cpp @@ -0,0 +1,29 @@ +#include +using namespace Rcpp; + +#ifdef RCPP_USE_GLOBAL_ROSTREAM +Rcpp::Rostream& Rcpp::Rcout = Rcpp::Rcpp_cout_get(); +Rcpp::Rostream& Rcpp::Rcerr = Rcpp::Rcpp_cerr_get(); +#endif + +// common_value_for_group_subset_cpp +List common_value_for_group_subset_cpp(List value_lists); +RcppExport SEXP _animint2_common_value_for_group_subset_cpp(SEXP value_listsSEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::RNGScope rcpp_rngScope_gen; + Rcpp::traits::input_parameter< List >::type value_lists(value_listsSEXP); + rcpp_result_gen = Rcpp::wrap(common_value_for_group_subset_cpp(value_lists)); + return rcpp_result_gen; +END_RCPP +} + +static const R_CallMethodDef CallEntries[] = { + {"_animint2_common_value_for_group_subset_cpp", (DL_FUNC) &_animint2_common_value_for_group_subset_cpp, 1}, + {NULL, NULL, 0} +}; + +RcppExport void R_init_animint2(DllInfo *dll) { + R_registerRoutines(dll, NULL, CallEntries, NULL, NULL); + R_useDynamicSymbols(dll, FALSE); +} diff --git a/src/get_common_chunk.cpp b/src/get_common_chunk.cpp index 86aff710..5dd48315 100644 --- a/src/get_common_chunk.cpp +++ b/src/get_common_chunk.cpp @@ -1,319 +1,153 @@ #include #include -#include -#include #include using namespace Rcpp; namespace { -inline bool is_na_sexp(SEXP x) { - switch (TYPEOF(x)) { - case REALSXP: - return ISNA(REAL(x)[0]); - case INTSXP: - return INTEGER(x)[0] == NA_INTEGER; - case LGLSXP: - return LOGICAL(x)[0] == NA_LOGICAL; - case STRSXP: - return STRING_ELT(x, 0) == NA_STRING; - default: - return false; +bool is_na_at(SEXP v, int i) { + switch (TYPEOF(v)) { + case REALSXP: return ISNA(REAL(v)[i]); + case INTSXP: return INTEGER(v)[i] == NA_INTEGER; + case LGLSXP: return LOGICAL(v)[i] == NA_LOGICAL; + case STRSXP: return STRING_ELT(v, i) == NA_STRING; + default: return false; } } -inline bool equal_sexp(SEXP a, SEXP b) { - if (a == R_NilValue && b == R_NilValue) return true; - if (a == R_NilValue || b == R_NilValue) return false; +bool eq_at(SEXP a, int ia, SEXP b, int ib) { if (TYPEOF(a) != TYPEOF(b)) return false; switch (TYPEOF(a)) { case REALSXP: { - double da = REAL(a)[0], db = REAL(b)[0]; - if (ISNA(da) && ISNA(db)) return true; - return da == db; + double da = REAL(a)[ia], db = REAL(b)[ib]; + return (ISNA(da) && ISNA(db)) || da == db; } case INTSXP: { - int da = INTEGER(a)[0], db = INTEGER(b)[0]; - if (da == NA_INTEGER && db == NA_INTEGER) return true; - return da == db; + int da = INTEGER(a)[ia], db = INTEGER(b)[ib]; + return (da == NA_INTEGER && db == NA_INTEGER) || da == db; } case LGLSXP: { - int da = LOGICAL(a)[0], db = LOGICAL(b)[0]; - if (da == NA_LOGICAL && db == NA_LOGICAL) return true; - return da == db; + int da = LOGICAL(a)[ia], db = LOGICAL(b)[ib]; + return (da == NA_LOGICAL && db == NA_LOGICAL) || da == db; } case STRSXP: - return STRING_ELT(a, 0) == STRING_ELT(b, 0); + return STRING_ELT(a, ia) == STRING_ELT(b, ib); default: return false; } } -SEXP get_elem(SEXP col, int i) { - switch (TYPEOF(col)) { - case REALSXP: - return Rf_ScalarReal(REAL(col)[i]); - case INTSXP: - return Rf_ScalarInteger(INTEGER(col)[i]); - case LGLSXP: - return Rf_ScalarLogical(LOGICAL(col)[i]); - case STRSXP: - return Rf_ScalarString(STRING_ELT(col, i)); - default: - return R_NilValue; +SEXP scalar_at(SEXP v, int i) { + switch (TYPEOF(v)) { + case REALSXP: return Rf_ScalarReal(REAL(v)[i]); + case INTSXP: return Rf_ScalarInteger(INTEGER(v)[i]); + case LGLSXP: return Rf_ScalarLogical(LOGICAL(v)[i]); + case STRSXP: return Rf_ScalarString(STRING_ELT(v, i)); + default: return R_NilValue; } } -bool all_equal_na_rm_matrix(const std::vector& values, - const std::vector& ref, - int group_size) { - const bool ref_scalar = ref.size() == 1; - for (size_t i = 0; i < values.size(); ++i) { - if (is_na_sexp(values[i])) continue; - const int row = static_cast(i % group_size); - const SEXP r = ref_scalar ? ref[0] : ref[row]; - if (!equal_sexp(values[i], r)) return false; +bool all_same(const std::vector& xs) { + if (xs.empty()) return false; + for (size_t k = 1; k < xs.size(); ++k) { + if (!eq_at(xs[0], 0, xs[k], 0)) return false; } return true; } -SEXP first_non_na(const std::vector& row_values) { - for (size_t i = 0; i < row_values.size(); ++i) { - if (!is_na_sexp(row_values[i])) return row_values[i]; - } - return row_values.empty() ? R_NilValue : row_values[0]; -} - -bool all_refs_equal(const std::vector& refs) { - if (refs.empty()) return true; - for (size_t i = 1; i < refs.size(); ++i) { - if (!equal_sexp(refs[0], refs[i])) return false; - } - return true; -} - -bool all_values_unique_one(const std::vector& values) { - if (values.empty()) return false; - for (size_t i = 1; i < values.size(); ++i) { - if (!equal_sexp(values[0], values[i])) return false; - } - return true; -} - -List common_value_for_group_subset_cpp(const std::vector >& chunk_values) { - std::vector lvec(chunk_values.size()); - std::vector value_vec; - for (size_t c = 0; c < chunk_values.size(); ++c) { - lvec[c] = static_cast(chunk_values[c].size()); - value_vec.insert(value_vec.end(), chunk_values[c].begin(), chunk_values[c].end()); - } - if (lvec.size() > 0 && std::equal(lvec.begin() + 1, lvec.end(), lvec.begin())) { - const int group_size = lvec[0]; - const int nchunks = static_cast(lvec.size()); - std::vector min_na_vec; - min_na_vec.reserve(group_size); - for (int row = 0; row < group_size; ++row) { - std::vector row_values; - row_values.reserve(nchunks); - for (int col = 0; col < nchunks; ++col) { - row_values.push_back(value_vec[row + col * group_size]); - } - min_na_vec.push_back(first_non_na(row_values)); - } - std::vector ref = min_na_vec; - if (all_refs_equal(min_na_vec)) { - ref.assign(1, min_na_vec[0]); - } - const bool is_common = all_equal_na_rm_matrix(value_vec, ref, group_size); - if (ref.size() == 1) { - return List::create( - Named("common") = List::create(ref[0]), - Named("is.common") = is_common - ); - } - return List::create( - Named("common") = List(min_na_vec.begin(), min_na_vec.end()), - Named("is.common") = is_common - ); - } - if (all_values_unique_one(value_vec)) { - return List::create( - Named("common") = List::create(value_vec[0]), - Named("is.common") = true - ); - } - return List::create( - Named("common") = List(), - Named("is.common") = false - ); -} - -IntegerVector factor_to_int(SEXP x) { - if (Rf_isFactor(x)) { - return IntegerVector(x); - } - if (TYPEOF(x) == INTSXP) { - return IntegerVector(x); - } - CharacterVector chr = as(x); - IntegerVector out(chr.size()); - std::unordered_map levels; - int next_level = 1; - for (int i = 0; i < chr.size(); ++i) { - if (CharacterVector::is_na(chr[i])) { - out[i] = NA_INTEGER; - continue; - } - std::string key = as(chr[i]); - std::unordered_map::iterator it = levels.find(key); - if (it == levels.end()) { - levels[key] = next_level; - out[i] = next_level; - ++next_level; - } else { - out[i] = it->second; - } - } - return out; -} - -struct PairKey { - int col; - int group_key; - bool operator==(const PairKey& other) const { - return col == other.col && group_key == other.group_key; - } -}; - -struct PairKeyHash { - std::size_t operator()(const PairKey& k) const { - return static_cast(k.col) * 1000003u + static_cast(k.group_key); - } -}; - -struct ChunkData { - std::vector values; - int first_row; -}; - -SEXP build_group_output(const std::vector& groups, SEXP template_group) { - const int n = static_cast(groups.size()); - switch (TYPEOF(template_group)) { +SEXP scalars_to_vector(const std::vector& xs) { + if (xs.empty()) return R_NilValue; + const int n = static_cast(xs.size()); + switch (TYPEOF(xs[0])) { case REALSXP: { NumericVector out(n); - for (int i = 0; i < n; ++i) out[i] = REAL(groups[i])[0]; + for (int i = 0; i < n; ++i) out[i] = REAL(xs[i])[0]; return out; } case INTSXP: { IntegerVector out(n); - for (int i = 0; i < n; ++i) out[i] = INTEGER(groups[i])[0]; + for (int i = 0; i < n; ++i) out[i] = INTEGER(xs[i])[0]; return out; } case LGLSXP: { LogicalVector out(n); - for (int i = 0; i < n; ++i) out[i] = LOGICAL(groups[i])[0]; + for (int i = 0; i < n; ++i) out[i] = LOGICAL(xs[i])[0]; return out; } case STRSXP: { CharacterVector out(n); - for (int i = 0; i < n; ++i) out[i] = STRING_ELT(groups[i], 0); + for (int i = 0; i < n; ++i) out[i] = STRING_ELT(xs[i], 0); return out; } default: - return List(groups.begin(), groups.end()); + return xs[0]; } } +List wrap_common(SEXP x) { + return List::create(x); +} + } // namespace // [[Rcpp::export]] -List detect_common_value_dt_cpp(DataFrame built, - CharacterVector col_name_vec, - CharacterVector chunk_vars) { - const int n = built.nrows(); - SEXP group_col = built["group"]; - IntegerVector group_key = factor_to_int(group_col); - - IntegerVector chunk_key(n); - if (chunk_vars.size() == 1) { - chunk_key = factor_to_int(built[as(chunk_vars[0])]); - } else { - CharacterVector combo(n); - for (int i = 0; i < n; ++i) { - std::string key; - for (int v = 0; v < chunk_vars.size(); ++v) { - if (v > 0) key += "\1"; - SEXP col = built[as(chunk_vars[v])]; - key += as(as(col)[i]); +List common_value_for_group_subset_cpp(List value_lists) { + const int nchunks = value_lists.size(); + if (nchunks == 0) { + return List::create(Named("common") = List(), Named("is.common") = false); + } + std::vector vecs(nchunks); + std::vector lvec(nchunks); + for (int c = 0; c < nchunks; ++c) { + vecs[c] = value_lists[c]; + lvec[c] = Rf_length(vecs[c]); + } + if (lvec[0] > 0 && std::equal(lvec.begin() + 1, lvec.end(), lvec.begin())) { + const int gs = lvec[0]; + std::vector min_na(gs, R_NilValue); + for (int r = 0; r < gs; ++r) { + for (int c = 0; c < nchunks; ++c) { + if (!is_na_at(vecs[c], r)) { + min_na[r] = scalar_at(vecs[c], r); + break; + } } - combo[i] = key; + if (min_na[r] == R_NilValue) min_na[r] = scalar_at(vecs[0], r); } - chunk_key = factor_to_int(combo); - } - - typedef std::unordered_map ChunkMap; - std::unordered_map buckets; - std::unordered_map original_group; - - for (int j = 0; j < col_name_vec.size(); ++j) { - const std::string col_name = as(col_name_vec[j]); - SEXP col = built[col_name]; - for (int i = 0; i < n; ++i) { - PairKey key; - key.col = j + 1; - key.group_key = group_key[i]; - if (original_group.find(key) == original_group.end()) { - original_group[key] = get_elem(group_col, i); - } - ChunkData& chunk = buckets[key][chunk_key[i]]; - if (chunk.values.empty()) { - chunk.first_row = i; + const bool ref_scalar = all_same(min_na); + const SEXP ref0 = min_na[0]; + bool is_common = true; + for (int c = 0; c < nchunks && is_common; ++c) { + for (int r = 0; r < gs; ++r) { + if (is_na_at(vecs[c], r)) continue; + SEXP ref = ref_scalar ? ref0 : min_na[r]; + if (!eq_at(vecs[c], r, ref, 0)) { + is_common = false; + break; + } } - chunk.values.push_back(get_elem(col, i)); - } - } - - std::vector out_col; - std::vector out_group; - std::vector out_is_common; - List out_common; - - out_col.reserve(buckets.size()); - out_group.reserve(buckets.size()); - out_is_common.reserve(buckets.size()); - out_common = List(static_cast(buckets.size())); - - int out_i = 0; - for (std::unordered_map::iterator it = buckets.begin(); - it != buckets.end(); ++it, ++out_i) { - out_col.push_back(as(col_name_vec[it->first.col - 1])); - out_group.push_back(original_group[it->first]); - - std::vector chunk_ids; - chunk_ids.reserve(it->second.size()); - for (ChunkMap::iterator cit = it->second.begin(); cit != it->second.end(); ++cit) { - chunk_ids.push_back(cit->first); } - std::sort(chunk_ids.begin(), chunk_ids.end(), [&](int a, int b) { - return it->second[a].first_row < it->second[b].first_row; - }); - - std::vector > chunk_values; - chunk_values.reserve(chunk_ids.size()); - for (size_t c = 0; c < chunk_ids.size(); ++c) { - chunk_values.push_back(it->second[chunk_ids[c]].values); + if (ref_scalar) { + return List::create( + Named("common") = wrap_common(ref0), + Named("is.common") = is_common + ); } - - List one = common_value_for_group_subset_cpp(chunk_values); - out_is_common.push_back(as(one["is.common"])); - out_common[out_i] = one["common"]; + return List::create( + Named("common") = wrap_common(scalars_to_vector(min_na)), + Named("is.common") = is_common + ); } - - return List::create( - Named("col.name") = CharacterVector(out_col.begin(), out_col.end()), - Named("group") = build_group_output(out_group, group_col), - Named("common") = out_common, - Named("is.common") = LogicalVector(out_is_common.begin(), out_is_common.end()) - ); + std::vector flat; + for (int c = 0; c < nchunks; ++c) { + for (int r = 0; r < lvec[c]; ++r) flat.push_back(scalar_at(vecs[c], r)); + } + if (!flat.empty() && all_same(flat)) { + return List::create( + Named("common") = wrap_common(flat[0]), + Named("is.common") = true + ); + } + return List::create(Named("common") = List(), Named("is.common") = false); } diff --git a/src/get_common_chunk.o b/src/get_common_chunk.o new file mode 100644 index 0000000000000000000000000000000000000000..d5b8d0e3d6922371e25d260760d28aebb6f4ca02 GIT binary patch literal 975701 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%0A{TuaLs~W#auT@qPiVn1;#@zt@4T?3{Qx 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

9xpHr|2q)-x)^!?$s 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 literal 0 HcmV?d00001 diff --git a/tests/testthat/test-compiler-getCommonChunk.R b/tests/testthat/test-compiler-getCommonChunk.R new file mode 100644 index 00000000..b5d400c5 --- /dev/null +++ b/tests/testthat/test-compiler-getCommonChunk.R @@ -0,0 +1,158 @@ +context("getCommonChunk") +## Pure unit test: no tests_init(), servr (port 4848), or browser required. +library(data.table) + +expect_common_varied <- function(result, common_cols, varied_cols) { + expect_type(result, "list") + expect_named(result, c("common", "varied")) + expect_true(all(common_cols %in% names(result$common))) + expect_false(any(varied_cols %in% names(result$common))) +} + +test_that("NULL when chunk.vars empty", { + built <- data.table(x = 1:4, group = 1:4) + expect_null(animint2:::getCommonChunk(built, character(), list(group = "group"))) +}) + +test_that("NULL when only one chunk subset", { + built <- data.table( + x = 1:4, + y = 5:8, + group = 1:4, + showSelected = 1 + ) + expect_null(animint2:::getCommonChunk(built, "showSelected", list(group = "group"))) +}) + +test_that("NULL when no group appears in multiple subsets", { + built <- data.table( + x = 1:4, + y = 5:8, + group = 1:4, + showSelected = 1:4 + ) + expect_null(animint2:::getCommonChunk(built, "showSelected", list(group = "group"))) +}) + +test_that("polygon-like data splits x,y into common chunk", { + ## Each group appears in showSelected 1 and 2; x,y fixed per group; fill varies. + built <- data.table( + group = rep(1:2, each = 4), + showSelected = rep(c(1, 1, 2, 2), 2), + x = rep(c(10, 20), each = 4), + y = rep(c(1, 2), each = 4), + fill = c("a", "a", "b", "b", "c", "c", "d", "d") + ) + result <- animint2:::getCommonChunk(built, "showSelected", list(group = "group")) + expect_common_varied(result, c("x", "y", "group"), "fill") + expect_equal(nrow(result$common), 2) +}) + +test_that("colour common but xy varied", { + built <- data.table( + group = rep(c("left", "right"), each = 4), + showSelected = rep(c("A", "A", "B", "B"), 2), + x = 1:8, + y = c(6, 6, 7, 7, 8, 8, 9, 9), + colour = "foo", + constant = "bar" + ) + result <- animint2:::getCommonChunk(built, "showSelected", list(group = "group")) + expect_common_varied(result, c("colour", "constant", "group"), c("x", "y")) +}) + +test_that("xy common but colour varied", { + built <- data.table( + group = rep(c("left", "right"), each = 4), + showSelected = rep(c("A", "A", "B", "B"), 2), + x = rep(c(1, 2), each = 4), + y = rep(c(7, 8), each = 4), + colour = c("red", "red", "blue", "blue", "green", "gold", "green", "gold") + ) + result <- animint2:::getCommonChunk(built, "showSelected", list(group = "group")) + expect_common_varied(result, c("x", "y", "group"), "colour") +}) + +test_that("single common column with multi-row group is allowed (#255)", { + built <- data.table( + group = rep(1:2, each = 4), + showSelected = rep(c(1, 1, 2, 2), 2), + x = c(10, 20, 10, 20, 30, 40, 30, 40), + y = rnorm(8), + colour = rnorm(8) + ) + result <- animint2:::getCommonChunk(built, "showSelected", list(group = "group")) + expect_common_varied(result, c("x", "group"), c("y", "colour")) +}) + +test_that("single common column with one row per group returns NULL", { + built <- data.table( + x = 1:4, + y = rnorm(4), + group = 1:4, + colour = "red", + showSelected = rep(1:2, each = 2) + ) + expect_null(animint2:::getCommonChunk(built, "showSelected", list(group = "group"))) +}) + +test_that("NA paths keep na_group and row_in_group in varied data", { + built <- data.table( + group = rep(1:2, each = 4), + showSelected = rep(c(1, 1, 2, 2), 2), + x = c(NA, 2, NA, 2, NA, 5, NA, 5), + y = 1:8, + na_group = c(0, 0, 1, 0, 0, 0, 1, 0), + row_in_group = c(1, 2, 1, 2, 1, 2, 1, 2) + ) + result <- animint2:::getCommonChunk(built, "showSelected", list(group = "group")) + expect_type(result, "list") + chunk1 <- result$varied[["1"]] + expect_true(all(c("na_group", "row_in_group", "y") %in% names(chunk1))) + expect_false("x" %in% names(chunk1)) +}) + +test_that("factors are treated as character", { + built <- data.table( + group = rep(1:2, each = 4), + showSelected = factor(rep(c(1, 1, 2, 2), 2)), + x = rep(c(10, 20), each = 4), + y = rep(c(1, 2), each = 4), + fill = factor(c("a", "a", "b", "b", "c", "c", "d", "d")) + ) + result <- animint2:::getCommonChunk(built, "showSelected", list(group = "group")) + expect_common_varied(result, c("x", "y", "group"), "fill") +}) + +test_that("C++ and R detect_common_value_dt agree", { + built <- data.table( + group = rep(1:2, each = 4), + showSelected = rep(c(1, 1, 2, 2), 2), + x = rep(c(10, 20), each = 4), + y = rep(c(1, 2), each = 4), + colour = rep(c("r", "g"), each = 4), + na_group = 0, + row_in_group = 1:4 + ) + chunk.vars <- "showSelected" + col.name.vec <- c("x", "y", "colour") + setkeyv(built, c("group", chunk.vars)) + r_dt <- with( + options(animint2.use.cpp = FALSE), + animint2:::detect_common_value_dt(built, col.name.vec, chunk.vars) + ) + if(exists("common_value_for_group_subset_cpp", where = asNamespace("animint2"), mode = "function")){ + cpp_dt <- animint2:::detect_common_value_dt(built, col.name.vec, chunk.vars) + setorder(r_dt, col.name, group) + setorder(cpp_dt, col.name, group) + expect_equal(nrow(r_dt), nrow(cpp_dt)) + expect_equal(r_dt$col.name, cpp_dt$col.name) + expect_equal(r_dt$group, cpp_dt$group) + expect_equal(r_dt$is.common, cpp_dt$is.common) + for(i in seq_len(nrow(r_dt))){ + expect_equal(r_dt$common[[i]], cpp_dt$common[[i]]) + } + } else { + skip("C++ not compiled") + } +}) diff --git a/vignettes/get-common-chunk-cpp.html b/vignettes/get-common-chunk-cpp.html new file mode 100644 index 00000000..df55ef99 --- /dev/null +++ b/vignettes/get-common-chunk-cpp.html @@ -0,0 +1,1000 @@ + + + + + + + + + + + + + + + + +get_common_chunk.cpp: C++ common chunk detection + + + + + + + + + + + + + + + + + + + + + + + + + + +

get_common_chunk.cpp: C++ common chunk +detection

+

animint2 contributors

+

2026-07-01

+ + + +

Guide to the issue #258 C++ work +for getCommonChunk(): what each file does, how the code +fits together, and how to test it.

+
+

Problem

+

Interactive plots split geom data into multiple chunk TSV files (one +per selector value). Often x, y, and +group are identical across chunks; only fill +(or similar) changes.

+
geom1_polygon_chunk_common.tsv  -> x, y, group   (written once)
+geom1_polygon_chunk1.tsv        -> fill, group
+geom1_polygon_chunk2.tsv        -> fill, group
+

getCommonChunk() detects shared columns at compile time +and splits output into a common TSV plus smaller varied TSVs. The +browser merges them with copy_chunk() in +inst/htmljs/animint.js.

+
+
+

Architecture (current)

+

C++ handles inner compare only (~154 lines). R +handles grouping, assembly, and file I/O.

+
geom-.r
+  └─ getCommonChunk()                         [R/z_animintHelpers.R]
+       └─ detect_common_value_dt()            [R: per-column grouping loop]
+            └─ common_value_for_group_subset()
+                 ├─ common_value_for_group_subset_cpp()  [src/get_common_chunk.cpp]
+                 └─ R fallback
+       └─ dcast, split_recursive, varied.chunk
+  └─ fwrite *_chunk_common.tsv                  [geom-.r]
+  └─ saveChunks() -> *_chunkN.tsv               [R/z_animintHelpers.R]
+
+Browser: copy_chunk() in inst/htmljs/animint.js
+
+
+

Files changed for issue #258

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileRole
src/get_common_chunk.cppC++ inner compare +(common_value_for_group_subset_cpp)
src/RcppExports.cppAuto-generated .Call registration
R/RcppExports.RR wrapper calling C++
R/z_animintHelpers.Rcommon_value_for_group_subset(), +detect_common_value_dt(), +getCommonChunk()
R/geom-.rCalls getCommonChunk(); adds na_group, +row_in_group (unchanged API)
DESCRIPTIONImports: Rcpp, LinkingTo: Rcpp
NAMESPACEuseDynLib(animint2, .registration = TRUE)
tests/testthat/test-compiler-getCommonChunk.R11 unit tests
.ci/atime/tests.RPerformance benchmark for post-#242 NA workload
NEWS.mdChangelog entry
+
+
+
+

File: src/get_common_chunk.cpp

+

Exported function: +common_value_for_group_subset_cpp(List value_lists)

+

Input: list of atomic vectors, one per chunk subset +(e.g. each showSelected level) for one +(column, group).

+

Output: named list:

+
list(common = list(...), is.common = TRUE/FALSE)
+

Must match R shape: common is a list of length 1 whose +element is an atomic vector (or scalar). Use wrap_common() +in C++ so data.table does not duplicate rows.

+
+

Internal helpers

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunctionLines (approx)Role
is_na_at(v, i)9-17NA test on vector element
eq_at(a, ia, b, ib)19-39Equal with NA = NA
scalar_at(v, i)41-49One cell as SEXP via Rf_Scalar*
all_same(xs)51-57All scalars equal
scalars_to_vector(xs)59-86Build atomic vector for R common
wrap_common(x)88-90list(x) wrapper
common_value_for_group_subset_cpp94-153Exported entry point
+
+
+

Algorithm (mirrors R +common_value_for_group_subset())

+
    +
  1. If all chunk vectors have equal length: build matrix, +min_na per row, NA-tolerant compare (PR #242).
  2. +
  3. Else if one unique value across all elements: scalar common.
  4. +
  5. Else: not common (common = list(), +is.common = FALSE).
  6. +
+
+
+

Design

+
    +
  • R groups; C++ compares (small review surface).
  • +
  • No file I/O in C++.
  • +
  • Rf_Scalar* required on Windows / R 4.5+.
  • +
  • SEXP types preserve mixed column types (numeric, character, +etc.).
  • +
+
+
+
+
+

File: R/z_animintHelpers.R

+
+

common_value_for_group_subset(value_lists)

+

~20 lines. Core R logic. Calls C++ when compiled:

+
if (isTRUE(getOption("animint2.use.cpp", TRUE))) {
+  cpp_out <- tryCatch(
+    common_value_for_group_subset_cpp(value_lists),
+    error = function(e) NULL
+  )
+  if (!is.null(cpp_out)) return(cpp_out)
+}
+# R fallback: matrix + min.na.vec + all(..., na.rm = TRUE)
+
+
+

detect_common_value_dt(built, col.name.vec, chunk.vars)

+

Loops columns. For each column, groups by group, splits +by chunk.vars, calls +common_value_for_group_subset() on each group’s chunk +vectors.

+

Per-column loop (not melt()) keeps mixed column types +correct.

+
+
+

getCommonChunk(built, chunk.vars, aes.list)

+

Public entry used from geom-.r:

+
    +
  1. Early exits (no chunk vars, one subset, no group in multiple +subsets).
  2. +
  3. detect_common_value_dt() to find common columns.
  4. +
  5. If 2+ common columns (partial) or 1 common column with multi-row +group (#255): build common data.frame and +varied nested list via split_recursive() / +varied.chunk().
  6. +
  7. Return list(common = ..., varied = ...) or +NULL.
  8. +
+
+
+
+
+

File: R/RcppExports.R

+

Auto-generated by Rcpp::compileAttributes():

+
common_value_for_group_subset_cpp <- function(value_lists) {
+  .Call(`_animint2_common_value_for_group_subset_cpp`, value_lists)
+}
+
+
+
+

File: R/geom-.r

+

Before getCommonChunk():

+
    +
  • Sets default group = 1 when user omits +aes(group) (#255).
  • +
  • Adds na_group and row_in_group for NA path +handling (#242).
  • +
+

Then:

+
data.or.null <- getCommonChunk(g.data, chunk.cols, g$aes)
+

If non-NULL, writes *_chunk_common.tsv and passes +varied to saveChunks().

+
+
+
+

File: inst/htmljs/animint.js

+

copy_chunk(g_info, varied_chunk) merges downloaded +varied TSV rows with cached common TSV rows. When NAs split paths, +row_in_group picks the matching common row.

+
+
+
+

Why SEXP?

+

SEXP = S EXpression, R’s universal +C type. Comparisons use R NA rules across numeric, integer, logical, and +character columns.

+ + + + + + + + + + + + + + + + + + + + + +
NameMeaning
is_na_at(v, i)Is row i of vector v NA?
eq_at(a, ia, b, ib)Equal with NA = NA?
scalar_at(v, i)One cell as length-1 SEXP
+
+
+
+

Worked example

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
rowgroupshowSelectedxyfill
011101a
111201a
212102b
312202b
421301c
521401c
622302d
722402d
+

For group 1, column x: chunks [10, 20] and +[10, 20] -> common. Column fill: +[a, a] vs [b, b] -> not common.

+

Result: common TSV has x, y, +group; varied chunks have fill only.

+
library(animint2)
+library(data.table)
+
+built <- data.table(
+  group = rep(1:2, each = 4),
+  showSelected = rep(c(1, 1, 2, 2), 2),
+  x = rep(c(10, 20), each = 4),
+  y = rep(c(1, 2), each = 4),
+  fill = c("a", "a", "b", "b", "c", "c", "d", "d")
+)
+setkeyv(built, c("group", "showSelected"))
+
+dt <- animint2:::detect_common_value_dt(built, c("x", "y", "fill"), "showSelected")
+dt[, .(col.name, group, is.common)]
+
+result <- animint2:::getCommonChunk(built, "showSelected", list(group = "group"))
+names(result$common)
+result$varied
+

During development use devtools::load_all() instead of +library(animint2).

+
+
+

NA example (PR #242)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
groupshowSelectedx
11NA
112
12NA
122
+

Chunks [NA, 2] vs [NA, 2]: row 1 NA +skipped, row 2 matches -> x is common.

+
+
+
+

Tests

+

File: +tests/testthat/test-compiler-getCommonChunk.R

+

Pure unit tests: no browser, no tests_init(), no port +4848 server.

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TestWhat it checks
NULL when chunk.vars emptyEarly exit
NULL when only one chunk subsetEarly exit
NULL when no group appears in multiple subsetsEarly exit
polygon-like data splits x,y into common chunkTypical map/polygon case
colour common but xy variedPartial common (2+ common cols)
xy common but colour variedPartial common
single common column with multi-row group is allowed (#255)One common col OK
single common column with one row per group returns NULLOne common col rejected
NA paths keep na_group and row_in_group in varied dataPR #242 sparse cols
factors are treated as characterFactor coercion
C++ and R detect_common_value_dt agreeC++ vs R fallback match
+
+

Run tests (fast)

+

From package root:

+
library(devtools)
+load_all()
+library(testthat)
+library(data.table)
+
+testthat::test_file("tests/testthat/test-compiler-getCommonChunk.R")
+

Expected: [ FAIL 0 | WARN 0 | SKIP 0 | PASS 38 ] (11 +tests, 38 expectations).

+

Skip tests_init() and helper-HTML.R for +this file; they are only for renderer tests.

+
+
+

Compare C++ vs R manually

+
options(animint2.use.cpp = FALSE)  # R inner compare only
+r_result <- animint2:::getCommonChunk(built, "showSelected", list(group = "group"))
+
+options(animint2.use.cpp = TRUE)   # C++ inner compare (default)
+cpp_result <- animint2:::getCommonChunk(built, "showSelected", list(group = "group"))
+
+identical(r_result, cpp_result)
+
+
+

Existing integration tests (should still pass)

+

After changing getCommonChunk() code, also run:

+
files <- c(
+  "test-compiler-save-separate-chunks.R",
+  "test-renderer1-chunk-vars.R",
+  "test-renderer3-chunk-NA-separate-lines.R",
+  "test-renderer1-chunk-WorldBank-NA.R",
+  "test-renderer2-VariantModels.R"
+)
+for (f in files) {
+  testthat::test_file(file.path("tests/testthat", f))
+}
+

Integration tests need tests_init() (browser + servr on +port 4848).

+
+
+

Performance benchmark

+
install.packages("atime")
+source(".ci/atime/tests.R")
+atime::atime(test.list = test.list)
+

Benchmarks: getCommonChunk improved in #238 and +getCommonChunk post-#242 NA workload.

+
+
+

Windows setup

+

C++ requires Rtools matching your R version. If +devtools::load_all() fails:

+
winget install RProject.Rtools --accept-package-agreements --accept-source-agreements
+$env:Path = "C:\rtools45\usr\bin;C:\rtools45\mingw64\bin;" + $env:Path
+
+
+
+
+

Debug options

+
options(animint2.use.cpp = FALSE)  # force R inner compare
+options(animint2.use.cpp = TRUE)   # restore default
+
+# verify C++ compiled
+"common_value_for_group_subset_cpp" %in% ls(asNamespace("animint2"), all = TRUE)
+
+
+
+

Issue history (brief)

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + +
PRChange
#238Vectorized R; faster but incomplete
#242NA matrix logic, na_group, +row_in_group
#255group = 1 default, single common column, points
#258C++ inner compare; R grouping unchanged
+
+
+
+

C++ to R mapping

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + +
C++R (R/z_animintHelpers.R)
common_value_for_group_subset_cppcommon_value_for_group_subset()
matrix + NA loopall(m == min.na.vec, na.rm = TRUE)
is_na_at / eq_atis.na / == with na.rm
(grouping)detect_common_value_dt() per-column loop
+
+
+
+

References

+ +
+ + + + + + + + + + + From 6064f271309c3749ad0cdfc8a3c65d487e65f33d Mon Sep 17 00:00:00 2001 From: nishita-shah1 Date: Mon, 6 Jul 2026 08:18:28 +0530 Subject: [PATCH 3/4] Fix CI: remove build artifacts, preserve useDynLib, add vignette Rmd --- .gitignore | 11 +- DESCRIPTION | 3 +- R/RcppExports.R | 3 + R/rcpp-dynlib.R | 2 + man/checkSelectorNames.Rd | 17 + man/common_value_for_group_subset.Rd | 18 + man/detect_common_value_dt.Rd | 26 + src/RcppExports.cpp | 4 + src/get_common_chunk.o | Bin 975701 -> 0 bytes vignettes/get-common-chunk-cpp.Rmd | 383 ++++++++++ vignettes/get-common-chunk-cpp.html | 1000 -------------------------- 11 files changed, 465 insertions(+), 1002 deletions(-) create mode 100644 R/rcpp-dynlib.R create mode 100644 man/checkSelectorNames.Rd create mode 100644 man/common_value_for_group_subset.Rd create mode 100644 man/detect_common_value_dt.Rd delete mode 100644 src/get_common_chunk.o create mode 100644 vignettes/get-common-chunk-cpp.Rmd delete mode 100644 vignettes/get-common-chunk-cpp.html diff --git a/.gitignore b/.gitignore index 80b74d00..d6b5367f 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,13 @@ *pids.txt *~ .vscode/settings.json -/node_modules \ No newline at end of file +/node_modules +*.o +*.so +*.dll +src/*.o +src/*.so +src/*.dll +vignettes/*.html +vignettes/*.knit.md +vignettes/*.utf8.md \ No newline at end of file diff --git a/DESCRIPTION b/DESCRIPTION index c968f9a8..10ab38ab 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -122,6 +122,7 @@ LinkingTo: Rcpp Encoding: UTF-8 LazyData: true Collate: + 'RcppExports.R' 'gganimintproto.r' 'aaa-.r' 'aes-calculated.r' @@ -231,7 +232,7 @@ Collate: 'position-stack.r' 'quick-plot.r' 'range.r' - 'RcppExports.R' + 'rcpp-dynlib.R' 'save.r' 'scale-.r' 'scale-alpha.r' diff --git a/R/RcppExports.R b/R/RcppExports.R index a213c659..96b9e4b2 100644 --- a/R/RcppExports.R +++ b/R/RcppExports.R @@ -1,3 +1,6 @@ +# Generated by using Rcpp::compileAttributes() -> do not edit by hand +# Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393 + common_value_for_group_subset_cpp <- function(value_lists) { .Call(`_animint2_common_value_for_group_subset_cpp`, value_lists) } diff --git a/R/rcpp-dynlib.R b/R/rcpp-dynlib.R new file mode 100644 index 00000000..93c8b77f --- /dev/null +++ b/R/rcpp-dynlib.R @@ -0,0 +1,2 @@ +#' @useDynLib animint2, .registration = TRUE +NULL diff --git a/man/checkSelectorNames.Rd b/man/checkSelectorNames.Rd new file mode 100644 index 00000000..c8ffe687 --- /dev/null +++ b/man/checkSelectorNames.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/z_animintHelpers.R +\name{checkSelectorNames} +\alias{checkSelectorNames} +\title{Validate selector names for CSS compatibility} +\usage{ +checkSelectorNames(selectors) +} +\arguments{ +\item{selectors}{selectors to validate} +} +\value{ +\code{NULL}. Throws error if invalid characters found. +} +\description{ +Validate selector names for CSS compatibility +} diff --git a/man/common_value_for_group_subset.Rd b/man/common_value_for_group_subset.Rd new file mode 100644 index 00000000..87d9e355 --- /dev/null +++ b/man/common_value_for_group_subset.Rd @@ -0,0 +1,18 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/z_animintHelpers.R +\name{common_value_for_group_subset} +\alias{common_value_for_group_subset} +\title{Common values for one (column, group) across chunk.vars subsets.} +\usage{ +common_value_for_group_subset(value_lists) +} +\arguments{ +\item{value_lists}{list of atomic vectors, one per chunk.vars level.} +} +\value{ +list with common (list of length 1) and is.common (logical). +} +\description{ +Common values for one (column, group) across chunk.vars subsets. +} +\keyword{internal} diff --git a/man/detect_common_value_dt.Rd b/man/detect_common_value_dt.Rd new file mode 100644 index 00000000..c06787e3 --- /dev/null +++ b/man/detect_common_value_dt.Rd @@ -0,0 +1,26 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/z_animintHelpers.R +\name{detect_common_value_dt} +\alias{detect_common_value_dt} +\title{Detect common column values for each group. +Grouping stays in R; inner compare may use C++ via +common_value_for_group_subset().} +\usage{ +detect_common_value_dt(built, col.name.vec, chunk.vars) +} +\arguments{ +\item{built}{data.table keyed by group and chunk.vars.} + +\item{col.name.vec}{candidate column names.} + +\item{chunk.vars}{chunk variable names.} +} +\value{ +data.table with col.name, group, common, is.common. +} +\description{ +Detect common column values for each group. +Grouping stays in R; inner compare may use C++ via +common_value_for_group_subset(). +} +\keyword{internal} diff --git a/src/RcppExports.cpp b/src/RcppExports.cpp index 823489c9..89d58e6f 100644 --- a/src/RcppExports.cpp +++ b/src/RcppExports.cpp @@ -1,4 +1,8 @@ +// Generated by using Rcpp::compileAttributes() -> do not edit by hand +// Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393 + #include + using namespace Rcpp; #ifdef RCPP_USE_GLOBAL_ROSTREAM diff --git a/src/get_common_chunk.o b/src/get_common_chunk.o deleted file mode 100644 index d5b8d0e3d6922371e25d260760d28aebb6f4ca02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 975701 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%0A{TuaLs~W#auT@qPiVn1;#@zt@4T?3{Qx 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

9xpHr|2q)-x)^!?$s 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 diff --git a/vignettes/get-common-chunk-cpp.Rmd b/vignettes/get-common-chunk-cpp.Rmd new file mode 100644 index 00000000..31486ed5 --- /dev/null +++ b/vignettes/get-common-chunk-cpp.Rmd @@ -0,0 +1,383 @@ +--- +title: "get_common_chunk.cpp: C++ common chunk detection" +author: "animint2 contributors" +date: "`r Sys.Date()`" +output: rmarkdown::html_vignette +vignette: > + %\VignetteIndexEntry{get_common_chunk.cpp: C++ common chunk detection} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} +--- + +```{r setup, include=FALSE} +knitr::opts_chunk$set(collapse = TRUE, comment = "#>") +``` + +Guide to the issue [#258](https://github.com/animint/animint2/issues/258) C++ work for +`getCommonChunk()`: what each file does, how the code fits together, and how to test it. + +## Problem + +Interactive plots split geom data into multiple chunk TSV files (one per selector value). +Often `x`, `y`, and `group` are identical across chunks; only `fill` (or similar) changes. + +``` +geom1_polygon_chunk_common.tsv -> x, y, group (written once) +geom1_polygon_chunk1.tsv -> fill, group +geom1_polygon_chunk2.tsv -> fill, group +``` + +`getCommonChunk()` detects shared columns at compile time and splits output into a +common TSV plus smaller varied TSVs. The browser merges them with `copy_chunk()` in +`inst/htmljs/animint.js`. + +## Architecture (current) + +C++ handles **inner compare only** (~154 lines). R handles grouping, assembly, and file I/O. + +``` +geom-.r + └─ getCommonChunk() [R/z_animintHelpers.R] + └─ detect_common_value_dt() [R: per-column grouping loop] + └─ common_value_for_group_subset() + ├─ common_value_for_group_subset_cpp() [src/get_common_chunk.cpp] + └─ R fallback + └─ dcast, split_recursive, varied.chunk + └─ fwrite *_chunk_common.tsv [geom-.r] + └─ saveChunks() -> *_chunkN.tsv [R/z_animintHelpers.R] + +Browser: copy_chunk() in inst/htmljs/animint.js +``` + +## Files changed for issue #258 + +| File | Role | +|------|------| +| `src/get_common_chunk.cpp` | C++ inner compare (`common_value_for_group_subset_cpp`) | +| `src/RcppExports.cpp` | Auto-generated `.Call` registration | +| `R/RcppExports.R` | R wrapper calling C++ | +| `R/z_animintHelpers.R` | `common_value_for_group_subset()`, `detect_common_value_dt()`, `getCommonChunk()` | +| `R/geom-.r` | Calls `getCommonChunk()`; adds `na_group`, `row_in_group` (unchanged API) | +| `DESCRIPTION` | `Imports: Rcpp`, `LinkingTo: Rcpp` | +| `NAMESPACE` | `useDynLib(animint2, .registration = TRUE)` | +| `tests/testthat/test-compiler-getCommonChunk.R` | 11 unit tests | +| `.ci/atime/tests.R` | Performance benchmark for post-#242 NA workload | +| `NEWS.md` | Changelog entry | + + +--- + +## File: `src/get_common_chunk.cpp` + +**Exported function:** `common_value_for_group_subset_cpp(List value_lists)` + +**Input:** list of atomic vectors, one per chunk subset (e.g. each `showSelected` level) +for one `(column, group)`. + +**Output:** named list: + +```r +list(common = list(...), is.common = TRUE/FALSE) +``` + +Must match R shape: `common` is a list of length 1 whose element is an atomic vector +(or scalar). Use `wrap_common()` in C++ so data.table does not duplicate rows. + +### Internal helpers + +| Function | Lines (approx) | Role | +|----------|----------------|------| +| `is_na_at(v, i)` | 9-17 | NA test on vector element | +| `eq_at(a, ia, b, ib)` | 19-39 | Equal with NA = NA | +| `scalar_at(v, i)` | 41-49 | One cell as SEXP via `Rf_Scalar*` | +| `all_same(xs)` | 51-57 | All scalars equal | +| `scalars_to_vector(xs)` | 59-86 | Build atomic vector for R `common` | +| `wrap_common(x)` | 88-90 | `list(x)` wrapper | +| `common_value_for_group_subset_cpp` | 94-153 | Exported entry point | + +### Algorithm (mirrors R `common_value_for_group_subset()`) + +1. If all chunk vectors have equal length: build matrix, `min_na` per row, NA-tolerant + compare (PR #242). +2. Else if one unique value across all elements: scalar common. +3. Else: not common (`common = list()`, `is.common = FALSE`). + +### Design + +- R groups; C++ compares (small review surface). +- No file I/O in C++. +- `Rf_Scalar*` required on Windows / R 4.5+. +- SEXP types preserve mixed column types (numeric, character, etc.). + +--- + +## File: `R/z_animintHelpers.R` + +### `common_value_for_group_subset(value_lists)` + +~20 lines. Core R logic. Calls C++ when compiled: + +```r +if (isTRUE(getOption("animint2.use.cpp", TRUE))) { + cpp_out <- tryCatch( + common_value_for_group_subset_cpp(value_lists), + error = function(e) NULL + ) + if (!is.null(cpp_out)) return(cpp_out) +} +# R fallback: matrix + min.na.vec + all(..., na.rm = TRUE) +``` + +### `detect_common_value_dt(built, col.name.vec, chunk.vars)` + +Loops columns. For each column, groups by `group`, splits by `chunk.vars`, calls +`common_value_for_group_subset()` on each group's chunk vectors. + +Per-column loop (not `melt()`) keeps mixed column types correct. + +### `getCommonChunk(built, chunk.vars, aes.list)` + +Public entry used from `geom-.r`: + +1. Early exits (no chunk vars, one subset, no group in multiple subsets). +2. `detect_common_value_dt()` to find common columns. +3. If 2+ common columns (partial) or 1 common column with multi-row group (#255): + build `common` data.frame and `varied` nested list via `split_recursive()` / + `varied.chunk()`. +4. Return `list(common = ..., varied = ...)` or `NULL`. + +--- + +## File: `R/RcppExports.R` + +Auto-generated by `Rcpp::compileAttributes()`: + +```r +common_value_for_group_subset_cpp <- function(value_lists) { + .Call(`_animint2_common_value_for_group_subset_cpp`, value_lists) +} +``` + +--- + +## File: `R/geom-.r` + +Before `getCommonChunk()`: + +- Sets default `group = 1` when user omits `aes(group)` (#255). +- Adds `na_group` and `row_in_group` for NA path handling (#242). + +Then: + +```r +data.or.null <- getCommonChunk(g.data, chunk.cols, g$aes) +``` + +If non-NULL, writes `*_chunk_common.tsv` and passes `varied` to `saveChunks()`. + +--- + +## File: `inst/htmljs/animint.js` + +`copy_chunk(g_info, varied_chunk)` merges downloaded varied TSV rows with cached +common TSV rows. When NAs split paths, `row_in_group` picks the matching common row. + +--- + +## Why SEXP? + +**SEXP** = **S EXpression**, R's universal C type. Comparisons use R NA rules across +numeric, integer, logical, and character columns. + +| Name | Meaning | +|------|---------| +| `is_na_at(v, i)` | Is row `i` of vector `v` NA? | +| `eq_at(a, ia, b, ib)` | Equal with NA = NA? | +| `scalar_at(v, i)` | One cell as length-1 SEXP | + +--- + +## Worked example + +| row | group | showSelected | x | y | fill | +|-----|-------|--------------|---|---|------| +| 0 | 1 | 1 | 10 | 1 | a | +| 1 | 1 | 1 | 20 | 1 | a | +| 2 | 1 | 2 | 10 | 2 | b | +| 3 | 1 | 2 | 20 | 2 | b | +| 4 | 2 | 1 | 30 | 1 | c | +| 5 | 2 | 1 | 40 | 1 | c | +| 6 | 2 | 2 | 30 | 2 | d | +| 7 | 2 | 2 | 40 | 2 | d | + +For group 1, column `x`: chunks `[10, 20]` and `[10, 20]` -> common. +Column `fill`: `[a, a]` vs `[b, b]` -> not common. + +Result: common TSV has `x`, `y`, `group`; varied chunks have `fill` only. + +```{r quick-example, eval=FALSE} +library(animint2) +library(data.table) + +built <- data.table( + group = rep(1:2, each = 4), + showSelected = rep(c(1, 1, 2, 2), 2), + x = rep(c(10, 20), each = 4), + y = rep(c(1, 2), each = 4), + fill = c("a", "a", "b", "b", "c", "c", "d", "d") +) +setkeyv(built, c("group", "showSelected")) + +dt <- animint2:::detect_common_value_dt(built, c("x", "y", "fill"), "showSelected") +dt[, .(col.name, group, is.common)] + +result <- animint2:::getCommonChunk(built, "showSelected", list(group = "group")) +names(result$common) +result$varied +``` + +During development use `devtools::load_all()` instead of `library(animint2)`. + +## NA example (PR #242) + +| group | showSelected | x | +|-------|--------------|---| +| 1 | 1 | NA | +| 1 | 1 | 2 | +| 1 | 2 | NA | +| 1 | 2 | 2 | + +Chunks `[NA, 2]` vs `[NA, 2]`: row 1 NA skipped, row 2 matches -> `x` is common. + +--- + +## Tests + +**File:** `tests/testthat/test-compiler-getCommonChunk.R` + +Pure unit tests: no browser, no `tests_init()`, no port 4848 server. + +| Test | What it checks | +|------|----------------| +| `NULL when chunk.vars empty` | Early exit | +| `NULL when only one chunk subset` | Early exit | +| `NULL when no group appears in multiple subsets` | Early exit | +| `polygon-like data splits x,y into common chunk` | Typical map/polygon case | +| `colour common but xy varied` | Partial common (2+ common cols) | +| `xy common but colour varied` | Partial common | +| `single common column with multi-row group is allowed (#255)` | One common col OK | +| `single common column with one row per group returns NULL` | One common col rejected | +| `NA paths keep na_group and row_in_group in varied data` | PR #242 sparse cols | +| `factors are treated as character` | Factor coercion | +| `C++ and R detect_common_value_dt agree` | C++ vs R fallback match | + +### Run tests (fast) + +From package root: + +```{r run-tests, eval=FALSE} +library(devtools) +load_all() +library(testthat) +library(data.table) + +testthat::test_file("tests/testthat/test-compiler-getCommonChunk.R") +``` + +Expected: `[ FAIL 0 | WARN 0 | SKIP 0 | PASS 38 ]` (11 tests, 38 expectations). + +Skip `tests_init()` and `helper-HTML.R` for this file; they are only for renderer tests. + +### Compare C++ vs R manually + +```{r compare-cpp-r, eval=FALSE} +options(animint2.use.cpp = FALSE) # R inner compare only +r_result <- animint2:::getCommonChunk(built, "showSelected", list(group = "group")) + +options(animint2.use.cpp = TRUE) # C++ inner compare (default) +cpp_result <- animint2:::getCommonChunk(built, "showSelected", list(group = "group")) + +identical(r_result, cpp_result) +``` + +### Existing integration tests (should still pass) + +After changing `getCommonChunk()` code, also run: + +```{r integration-tests, eval=FALSE} +files <- c( + "test-compiler-save-separate-chunks.R", + "test-renderer1-chunk-vars.R", + "test-renderer3-chunk-NA-separate-lines.R", + "test-renderer1-chunk-WorldBank-NA.R", + "test-renderer2-VariantModels.R" +) +for (f in files) { + testthat::test_file(file.path("tests/testthat", f)) +} +``` + +Integration tests need `tests_init()` (browser + servr on port 4848). + +### Performance benchmark + +```{r atime, eval=FALSE} +install.packages("atime") +source(".ci/atime/tests.R") +atime::atime(test.list = test.list) +``` + +Benchmarks: `getCommonChunk improved in #238` and `getCommonChunk post-#242 NA workload`. + +### Windows setup + +C++ requires Rtools matching your R version. If `devtools::load_all()` fails: + +```powershell +winget install RProject.Rtools --accept-package-agreements --accept-source-agreements +$env:Path = "C:\rtools45\usr\bin;C:\rtools45\mingw64\bin;" + $env:Path +``` + +--- + +## Debug options + +```{r debug, eval=FALSE} +options(animint2.use.cpp = FALSE) # force R inner compare +options(animint2.use.cpp = TRUE) # restore default + +# verify C++ compiled +"common_value_for_group_subset_cpp" %in% ls(asNamespace("animint2"), all = TRUE) +``` + +--- + +## Issue history (brief) + +| PR | Change | +|----|--------| +| [#238](https://github.com/animint/animint2/pull/238) | Vectorized R; faster but incomplete | +| [#242](https://github.com/animint/animint2/pull/242) | NA matrix logic, `na_group`, `row_in_group` | +| [#255](https://github.com/animint/animint2/pull/255) | `group = 1` default, single common column, points | +| [#258](https://github.com/animint/animint2/issues/258) | C++ inner compare; R grouping unchanged | + +--- + +## C++ to R mapping + +| C++ | R (`R/z_animintHelpers.R`) | +|-----|----------------------------| +| `common_value_for_group_subset_cpp` | `common_value_for_group_subset()` | +| matrix + NA loop | `all(m == min.na.vec, na.rm = TRUE)` | +| `is_na_at` / `eq_at` | `is.na` / `==` with `na.rm` | +| (grouping) | `detect_common_value_dt()` per-column loop | + +--- + +## References + +- [Issue #258](https://github.com/animint/animint2/issues/258) +- [PR #238](https://github.com/animint/animint2/pull/238) +- [PR #242](https://github.com/animint/animint2/pull/242) +- [PR #255](https://github.com/animint/animint2/pull/255) +- `tests/testthat/test-compiler-getCommonChunk.R` diff --git a/vignettes/get-common-chunk-cpp.html b/vignettes/get-common-chunk-cpp.html deleted file mode 100644 index df55ef99..00000000 --- a/vignettes/get-common-chunk-cpp.html +++ /dev/null @@ -1,1000 +0,0 @@ - - - - - - - - - - - - - - - - -get_common_chunk.cpp: C++ common chunk detection - - - - - - - - - - - - - - - - - - - - - - - - - - -

get_common_chunk.cpp: C++ common chunk -detection

-

animint2 contributors

-

2026-07-01

- - - -

Guide to the issue #258 C++ work -for getCommonChunk(): what each file does, how the code -fits together, and how to test it.

-
-

Problem

-

Interactive plots split geom data into multiple chunk TSV files (one -per selector value). Often x, y, and -group are identical across chunks; only fill -(or similar) changes.

-
geom1_polygon_chunk_common.tsv  -> x, y, group   (written once)
-geom1_polygon_chunk1.tsv        -> fill, group
-geom1_polygon_chunk2.tsv        -> fill, group
-

getCommonChunk() detects shared columns at compile time -and splits output into a common TSV plus smaller varied TSVs. The -browser merges them with copy_chunk() in -inst/htmljs/animint.js.

-
-
-

Architecture (current)

-

C++ handles inner compare only (~154 lines). R -handles grouping, assembly, and file I/O.

-
geom-.r
-  └─ getCommonChunk()                         [R/z_animintHelpers.R]
-       └─ detect_common_value_dt()            [R: per-column grouping loop]
-            └─ common_value_for_group_subset()
-                 ├─ common_value_for_group_subset_cpp()  [src/get_common_chunk.cpp]
-                 └─ R fallback
-       └─ dcast, split_recursive, varied.chunk
-  └─ fwrite *_chunk_common.tsv                  [geom-.r]
-  └─ saveChunks() -> *_chunkN.tsv               [R/z_animintHelpers.R]
-
-Browser: copy_chunk() in inst/htmljs/animint.js
-
-
-

Files changed for issue #258

- ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileRole
src/get_common_chunk.cppC++ inner compare -(common_value_for_group_subset_cpp)
src/RcppExports.cppAuto-generated .Call registration
R/RcppExports.RR wrapper calling C++
R/z_animintHelpers.Rcommon_value_for_group_subset(), -detect_common_value_dt(), -getCommonChunk()
R/geom-.rCalls getCommonChunk(); adds na_group, -row_in_group (unchanged API)
DESCRIPTIONImports: Rcpp, LinkingTo: Rcpp
NAMESPACEuseDynLib(animint2, .registration = TRUE)
tests/testthat/test-compiler-getCommonChunk.R11 unit tests
.ci/atime/tests.RPerformance benchmark for post-#242 NA workload
NEWS.mdChangelog entry
-
-
-
-

File: src/get_common_chunk.cpp

-

Exported function: -common_value_for_group_subset_cpp(List value_lists)

-

Input: list of atomic vectors, one per chunk subset -(e.g. each showSelected level) for one -(column, group).

-

Output: named list:

-
list(common = list(...), is.common = TRUE/FALSE)
-

Must match R shape: common is a list of length 1 whose -element is an atomic vector (or scalar). Use wrap_common() -in C++ so data.table does not duplicate rows.

-
-

Internal helpers

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionLines (approx)Role
is_na_at(v, i)9-17NA test on vector element
eq_at(a, ia, b, ib)19-39Equal with NA = NA
scalar_at(v, i)41-49One cell as SEXP via Rf_Scalar*
all_same(xs)51-57All scalars equal
scalars_to_vector(xs)59-86Build atomic vector for R common
wrap_common(x)88-90list(x) wrapper
common_value_for_group_subset_cpp94-153Exported entry point
-
-
-

Algorithm (mirrors R -common_value_for_group_subset())

-
    -
  1. If all chunk vectors have equal length: build matrix, -min_na per row, NA-tolerant compare (PR #242).
  2. -
  3. Else if one unique value across all elements: scalar common.
  4. -
  5. Else: not common (common = list(), -is.common = FALSE).
  6. -
-
-
-

Design

-
    -
  • R groups; C++ compares (small review surface).
  • -
  • No file I/O in C++.
  • -
  • Rf_Scalar* required on Windows / R 4.5+.
  • -
  • SEXP types preserve mixed column types (numeric, character, -etc.).
  • -
-
-
-
-
-

File: R/z_animintHelpers.R

-
-

common_value_for_group_subset(value_lists)

-

~20 lines. Core R logic. Calls C++ when compiled:

-
if (isTRUE(getOption("animint2.use.cpp", TRUE))) {
-  cpp_out <- tryCatch(
-    common_value_for_group_subset_cpp(value_lists),
-    error = function(e) NULL
-  )
-  if (!is.null(cpp_out)) return(cpp_out)
-}
-# R fallback: matrix + min.na.vec + all(..., na.rm = TRUE)
-
-
-

detect_common_value_dt(built, col.name.vec, chunk.vars)

-

Loops columns. For each column, groups by group, splits -by chunk.vars, calls -common_value_for_group_subset() on each group’s chunk -vectors.

-

Per-column loop (not melt()) keeps mixed column types -correct.

-
-
-

getCommonChunk(built, chunk.vars, aes.list)

-

Public entry used from geom-.r:

-
    -
  1. Early exits (no chunk vars, one subset, no group in multiple -subsets).
  2. -
  3. detect_common_value_dt() to find common columns.
  4. -
  5. If 2+ common columns (partial) or 1 common column with multi-row -group (#255): build common data.frame and -varied nested list via split_recursive() / -varied.chunk().
  6. -
  7. Return list(common = ..., varied = ...) or -NULL.
  8. -
-
-
-
-
-

File: R/RcppExports.R

-

Auto-generated by Rcpp::compileAttributes():

-
common_value_for_group_subset_cpp <- function(value_lists) {
-  .Call(`_animint2_common_value_for_group_subset_cpp`, value_lists)
-}
-
-
-
-

File: R/geom-.r

-

Before getCommonChunk():

-
    -
  • Sets default group = 1 when user omits -aes(group) (#255).
  • -
  • Adds na_group and row_in_group for NA path -handling (#242).
  • -
-

Then:

-
data.or.null <- getCommonChunk(g.data, chunk.cols, g$aes)
-

If non-NULL, writes *_chunk_common.tsv and passes -varied to saveChunks().

-
-
-
-

File: inst/htmljs/animint.js

-

copy_chunk(g_info, varied_chunk) merges downloaded -varied TSV rows with cached common TSV rows. When NAs split paths, -row_in_group picks the matching common row.

-
-
-
-

Why SEXP?

-

SEXP = S EXpression, R’s universal -C type. Comparisons use R NA rules across numeric, integer, logical, and -character columns.

- - - - - - - - - - - - - - - - - - - - - -
NameMeaning
is_na_at(v, i)Is row i of vector v NA?
eq_at(a, ia, b, ib)Equal with NA = NA?
scalar_at(v, i)One cell as length-1 SEXP
-
-
-
-

Worked example

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
rowgroupshowSelectedxyfill
011101a
111201a
212102b
312202b
421301c
521401c
622302d
722402d
-

For group 1, column x: chunks [10, 20] and -[10, 20] -> common. Column fill: -[a, a] vs [b, b] -> not common.

-

Result: common TSV has x, y, -group; varied chunks have fill only.

-
library(animint2)
-library(data.table)
-
-built <- data.table(
-  group = rep(1:2, each = 4),
-  showSelected = rep(c(1, 1, 2, 2), 2),
-  x = rep(c(10, 20), each = 4),
-  y = rep(c(1, 2), each = 4),
-  fill = c("a", "a", "b", "b", "c", "c", "d", "d")
-)
-setkeyv(built, c("group", "showSelected"))
-
-dt <- animint2:::detect_common_value_dt(built, c("x", "y", "fill"), "showSelected")
-dt[, .(col.name, group, is.common)]
-
-result <- animint2:::getCommonChunk(built, "showSelected", list(group = "group"))
-names(result$common)
-result$varied
-

During development use devtools::load_all() instead of -library(animint2).

-
-
-

NA example (PR #242)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
groupshowSelectedx
11NA
112
12NA
122
-

Chunks [NA, 2] vs [NA, 2]: row 1 NA -skipped, row 2 matches -> x is common.

-
-
-
-

Tests

-

File: -tests/testthat/test-compiler-getCommonChunk.R

-

Pure unit tests: no browser, no tests_init(), no port -4848 server.

- ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TestWhat it checks
NULL when chunk.vars emptyEarly exit
NULL when only one chunk subsetEarly exit
NULL when no group appears in multiple subsetsEarly exit
polygon-like data splits x,y into common chunkTypical map/polygon case
colour common but xy variedPartial common (2+ common cols)
xy common but colour variedPartial common
single common column with multi-row group is allowed (#255)One common col OK
single common column with one row per group returns NULLOne common col rejected
NA paths keep na_group and row_in_group in varied dataPR #242 sparse cols
factors are treated as characterFactor coercion
C++ and R detect_common_value_dt agreeC++ vs R fallback match
-
-

Run tests (fast)

-

From package root:

-
library(devtools)
-load_all()
-library(testthat)
-library(data.table)
-
-testthat::test_file("tests/testthat/test-compiler-getCommonChunk.R")
-

Expected: [ FAIL 0 | WARN 0 | SKIP 0 | PASS 38 ] (11 -tests, 38 expectations).

-

Skip tests_init() and helper-HTML.R for -this file; they are only for renderer tests.

-
-
-

Compare C++ vs R manually

-
options(animint2.use.cpp = FALSE)  # R inner compare only
-r_result <- animint2:::getCommonChunk(built, "showSelected", list(group = "group"))
-
-options(animint2.use.cpp = TRUE)   # C++ inner compare (default)
-cpp_result <- animint2:::getCommonChunk(built, "showSelected", list(group = "group"))
-
-identical(r_result, cpp_result)
-
-
-

Existing integration tests (should still pass)

-

After changing getCommonChunk() code, also run:

-
files <- c(
-  "test-compiler-save-separate-chunks.R",
-  "test-renderer1-chunk-vars.R",
-  "test-renderer3-chunk-NA-separate-lines.R",
-  "test-renderer1-chunk-WorldBank-NA.R",
-  "test-renderer2-VariantModels.R"
-)
-for (f in files) {
-  testthat::test_file(file.path("tests/testthat", f))
-}
-

Integration tests need tests_init() (browser + servr on -port 4848).

-
-
-

Performance benchmark

-
install.packages("atime")
-source(".ci/atime/tests.R")
-atime::atime(test.list = test.list)
-

Benchmarks: getCommonChunk improved in #238 and -getCommonChunk post-#242 NA workload.

-
-
-

Windows setup

-

C++ requires Rtools matching your R version. If -devtools::load_all() fails:

-
winget install RProject.Rtools --accept-package-agreements --accept-source-agreements
-$env:Path = "C:\rtools45\usr\bin;C:\rtools45\mingw64\bin;" + $env:Path
-
-
-
-
-

Debug options

-
options(animint2.use.cpp = FALSE)  # force R inner compare
-options(animint2.use.cpp = TRUE)   # restore default
-
-# verify C++ compiled
-"common_value_for_group_subset_cpp" %in% ls(asNamespace("animint2"), all = TRUE)
-
-
-
-

Issue history (brief)

- ---- - - - - - - - - - - - - - - - - - - - - - - - - -
PRChange
#238Vectorized R; faster but incomplete
#242NA matrix logic, na_group, -row_in_group
#255group = 1 default, single common column, points
#258C++ inner compare; R grouping unchanged
-
-
-
-

C++ to R mapping

- ---- - - - - - - - - - - - - - - - - - - - - - - - - -
C++R (R/z_animintHelpers.R)
common_value_for_group_subset_cppcommon_value_for_group_subset()
matrix + NA loopall(m == min.na.vec, na.rm = TRUE)
is_na_at / eq_atis.na / == with na.rm
(grouping)detect_common_value_dt() per-column loop
-
-
-
-

References

- -
- - - - - - - - - - - From 690b3c55b40dbf5aaeaee3646909d59a32ccebaf Mon Sep 17 00:00:00 2001 From: nishita-shah1 Date: Mon, 6 Jul 2026 08:39:51 +0530 Subject: [PATCH 4/4] Fix CRAN check NOTES: import Rcpp, is.common binding, strip vignette from release --- NAMESPACE | 1 + R/rcpp-dynlib.R | 1 + R/z_animintHelpers.R | 2 +- build.sh | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/NAMESPACE b/NAMESPACE index 310a4b8f..166e5c13 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -503,6 +503,7 @@ export(ylab) export(ylim) export(zeroGrob) import(RJSONIO) +import(Rcpp) import(data.table) import(grid) import(gtable) diff --git a/R/rcpp-dynlib.R b/R/rcpp-dynlib.R index 93c8b77f..0e2c047d 100644 --- a/R/rcpp-dynlib.R +++ b/R/rcpp-dynlib.R @@ -1,2 +1,3 @@ #' @useDynLib animint2, .registration = TRUE +#' @import Rcpp NULL diff --git a/R/z_animintHelpers.R b/R/z_animintHelpers.R index 4468d2d4..f8d51a5b 100644 --- a/R/z_animintHelpers.R +++ b/R/z_animintHelpers.R @@ -831,7 +831,7 @@ detect_common_value_dt <- function(built, col.name.vec, chunk.vars){ ##' @importFrom stats na.omit ##' @import data.table getCommonChunk <- function(built, chunk.vars, aes.list){ - group <- col.name <- group.size <- ok <- all.common <- size <- showSelected_values <- common <- NULL + group <- col.name <- group.size <- ok <- all.common <- size <- showSelected_values <- common <- is.common <- NULL ## Above to avoid CRAN NOTE. if(length(chunk.vars) == 0){ return(NULL) diff --git a/build.sh b/build.sh index ce573b3c..74faa89b 100644 --- a/build.sh +++ b/build.sh @@ -23,6 +23,7 @@ rm animint2-release/tests/testthat/helper-HTML.R rm animint2-release/tests/testthat/test-compiler-chunk-vars.R rm animint2-release/tests/testthat/test-compiler-ghpages.R rm animint2-release/vignettes/animint2.Rmd #to save disk space +rm animint2-release/vignettes/get-common-chunk-cpp.Rmd # CRAN release has no VignetteBuilder cat < animint2-release/tests/testthat.R library(testthat) data.table::setDTthreads(1)