• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

jackfirth / resyntax
97%
master: 97%

Build:
Build:
LAST BUILD BRANCH: HEAD
DEFAULT BRANCH: master
Repo Added 28 Oct 2025 07:40AM UTC
Files 164
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH perf/analysis-hash-tables
branch: perf/analysis-hash-tables
CHANGE BRANCH
x
Reset
  • perf/analysis-hash-tables
  • HEAD
  • allow-comments-in-refactoring-tests
  • autofix-24-1
  • autopilot-blocking
  • autopilot-workflow
  • ci-debug
  • claude-github-actions
  • claude/gracious-feistel-2be52d
  • cli-json
  • cli-tests
  • compile-test
  • copilot/add-analyzer-load-tests
  • copilot/add-analyzer-timeout-option
  • copilot/add-expanded-id-table-utility
  • copilot/add-function-expression-analyzer
  • copilot/add-fuse-map-with-for-rule
  • copilot/add-in-syntax-paths-utility
  • copilot/add-printf-without-specifiers-rule
  • copilot/add-resyntax-fix-json-output
  • copilot/add-string-representation-syntax-paths-again
  • copilot/add-syntax-path-filter-utility
  • copilot/add-syntax-property-extraction-apis
  • copilot/add-warning-rule-support
  • copilot/allow-custom-analyzers-in-rules
  • copilot/configurable-analyzer-timeout
  • copilot/consolidate-legacy-migration-rules
  • copilot/extract-let-from-arguments
  • copilot/fix-8175575-328049080-6434af77-80e7-42db-a2ea-55d3c2dafeba
  • copilot/fix-aggressive-when-merging
  • copilot/fix-broken-code-replacements
  • copilot/fix-error-to-raise-arguments-error
  • copilot/fix-identifier-usage-analyzer
  • copilot/fix-improper-syntax-paths
  • copilot/fix-syntax-parse-rule-issue
  • copilot/fix-syntax-path-logging
  • copilot/fix-unwanted-suggestion
  • copilot/handle-multiple-variables-in-rule
  • copilot/improve-test-coverage-file-group
  • copilot/improve-test-coverage-github
  • copilot/move-rules-to-let-replacement
  • copilot/refactor-analyzers-reuse-table-code
  • copilot/refactor-rules-suites-analyzers
  • copilot/refactor-sequence-tail-replacement
  • copilot/refactor-source-analyze-analyzers
  • copilot/refactor-test-imports
  • copilot/remove-matching-comparator-file
  • copilot/remove-proper-syntax-path-predicate
  • copilot/skip-failing-analyzers
  • copilot/skip-push-workflows-for-copilot
  • copilot/split-formatting-preservation-tests
  • copilot/store-visited-paths
  • copilot/suggest-using-define-syntax-parse-rule
  • copilot/update-identifier-usage-analyzer
  • copilot/use-module-lexer-for-comments
  • coverage
  • coverage-fixing
  • coverage-loops
  • coverage-workflow
  • docs-preview
  • document-github-integration
  • document-github-integrations-448
  • fix-800-flattening-perf
  • fix-comment-reading
  • fix-define-syntax-parser-syntax-loc
  • fix-property-bundle-error-source-830
  • fix-quasiquote-to-list-quoted-datums
  • fix-reysntax-typo
  • github-env-vars-lazy-820
  • grimoire
  • grimoire-examples-property-bundle
  • grimoire-examples-source
  • grimoire-examples-source-group
  • grimoire-file-group
  • grimoire-linemap
  • grimoire-string-replacement
  • grimoire-string-replacement-examples
  • grimoire-stxpath
  • grimoire-syntax-movement
  • grimoire-syntax-property-bundle
  • jackfirth-patch-1
  • jackfirth-patch-1-1
  • jackfirth-patch-2
  • let-replacement
  • limit-open-autopilot-prs-770
  • make-immutable-hash-quasiquote-to-hash
  • manual-display-to-file-rule
  • manual-testing
  • manual-workflow
  • master
  • null-when-guard-to-match-pattern
  • perf/eager-search-everything
  • perf/syntax-line-count
  • perf/syntax-path-comparator
  • pr-analysis
  • remove-copilot
  • rule-application-timing
  • run-rule
  • split-grimoire
  • syntax-path-tree-diagram
  • test-git-rkt
  • test-github-review-construction-820
  • test-refactoring-result-pure-functions
  • test-run-command
  • test-syntax-path-error-branches-816
  • text-trees
  • when-unless-keyword-multi-body-only

22 Jul 2026 12:58AM UTC coverage: 96.588%. First build
#573

Pull #842

cover

jackfirth
Collect expansion analysis tables in hashes and sort them once at the end

`source-analyze` accumulated visited and context syntax objects in mutable
sorted maps keyed by syntax path. Expansion writes to those tables far more
often than anything reads from them: every observed visit event records the
visited form plus every original subform within it, and expansion visits nested
forms repeatedly, so the same paths get written many times over. Each write ran
`syntax-path<=>` a logarithmic number of times, which made red-black tree
lookups the single largest cost in analysis.

Only two places need the tables in sorted order, and both run after expansion
has finished, so the tables can be plain hashes that get sorted once at the end.
This cuts analysis time for `xrepl-lib/xrepl/xrepl.rkt` (1877 lines) from ~78
seconds to ~44 seconds.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Pull Request #842: Collect expansion analysis tables in hashes and sort them once at the end

15 of 15 new or added lines in 1 file covered. (100.0%)

17495 of 18113 relevant lines covered (96.59%)

0.97 hits per line

Relevant lines Covered
Build:
Build:
18113 RELEVANT LINES 17495 COVERED LINES
0.97 HITS PER LINE
Source Files on perf/analysis-hash-tables
  • Tree
  • List 164
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
#573 perf/analysis-hash-tables Collect expansion analysis tables in hashes and sort them once at the end `source-analyze` accumulated visited and context syntax objects in mutable sorted maps keyed by syntax path. Expansion writes to those tables far more often than anything r... Pull #842 22 Jul 2026 01:44AM UTC jackfirth cover
96.59
See All Builds (580)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc