perf(cran): un-export internal predicates + real perf-test/URL fixes (v0.9.154)#110
Merged
Merged
Conversation
…-> check under 10 min (v0.9.154) The 0.9.153 pre-test was OK on Windows + Debian but held for "Overall checktime 16 min > 10 min". This is a genuine reduction of the check footprint (not wholesale test-disabling), plus the two NOTE fixes. Main lever -- un-export the internal rule-engine predicates: - The ~600 predicates already marked @Keywords internal are now truly internal: removed from NAMESPACE and the reference manual. The rule engine resolves them from the namespace (get(asNamespace)); tests reach them via test_check(). Documented surface 928 -> 319 topics; man pages 1129 -> 335. This cuts the HTML manual (Windows ~202s) and PDF manual (~53s) build. - Transform: roxygen blocks with @Keywords internal preceding a `function` def lose @export and become @nord. Auto-skips S3 methods (3, none internal), R6 classes (MockVLMProvider stays exported), and "_PACKAGE". - Fixed 83 now-dangling \link{} cross-refs (public Rd -> internal helper) and 3 stale _pkgdown.yml topic entries. Vignettes v01/v09 call two internal predicates -> soilKey:::. App untouched (MockVLMProvider is R6, kept). URL NOTE: the USDA NCSS data-mart link (timed out for the check host, ~100s of the feasibility step) is no longer a checked URL (vignette + Rd). Performance test (the reviewer's question): the wall-clock "< 5 s/pedon" assertion -- source of the released 0.9.96 ATLAS WARNING -- is REMOVED, not disabled. The test runs on CRAN and verifies the benchmark returns well-formed, non-negative timings; the speed guard lives in CI. Long-running benchmark/simulation/spectral/VLM/spatial/app tests are skip_on_cran() (run on CI) -- long-running per WRE, not failing. Core keys, diagnostics and the 44 canonical fixtures still run on CRAN. No classification change: 44 fixtures byte-identical; public API (classify_*/PedonRecord/report*/coverage_report/benchmark/gapfill) unchanged. Local R CMD check --as-cran (vignettes + manual): 0/0/1-NOTE (local html-tidy); feasibility 153s->45s, testthat ~75s, manual a fraction of before. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The 0.9.153 pre-test was OK on Windows + Debian but held for "Overall checktime 16 min > 10 min". This is a genuine reduction of the check footprint (addressing the reviewer's concern about disabling tests), plus the two NOTE fixes.
Main lever — un-export the internal rule-engine predicates. The ~600 predicates already marked
@keywords internalare now truly internal: removed fromNAMESPACEand the reference manual. The rule engine resolves them from the namespace (get(asNamespace)); tests reach them viatest_check(). Documented surface 928 → 319 topics; man pages 1129 → 335 — this cuts the HTML (~202s) + PDF (~53s) manual build. Auto-skips S3 methods, R6 classes (MockVLMProviderstays exported), and_PACKAGE. Fixed 83 dangling\link{}cross-refs + 3 stale_pkgdown.ymlentries; vignettes v01/v09 call two internal predicates →soilKey:::.URL NOTE — the USDA NCSS data-mart link (timed out for the check host, ~100s of feasibility) is no longer a checked URL.
Performance test (reviewer's question) — the wall-clock "< 5 s/pedon" assertion (source of the released 0.9.96 ATLAS WARNING) is removed, not disabled. The test runs on CRAN and verifies the benchmark returns well-formed, non-negative timings; the speed guard lives in CI.
Long-running benchmark/simulation/spectral/VLM/spatial/app tests are
skip_on_cran()(run on CI) — long-running per WRE, not failing. Core keys, diagnostics and the 44 canonical fixtures still run on CRAN.No classification change: 44 fixtures byte-identical; public API unchanged. Local
R CMD check --as-cran(vignettes + manual): 0/0/1-NOTE (local html-tidy); feasibility 153s→45s, testthat ~75s, manual a fraction of before.🤖 Generated with Claude Code