Skip to content

Remove unused classifiable name tracking - #4764

Open
jakebailey wants to merge 2 commits into
mainfrom
jabaile/remove-classifiable
Open

Remove unused classifiable name tracking#4764
jakebailey wants to merge 2 commits into
mainfrom
jabaile/remove-classifiable

Conversation

@jakebailey

Copy link
Copy Markdown
Member
goos: linux
goarch: amd64
pkg: github.com/microsoft/typescript-go/internal/binder
cpu: AMD Ryzen AI 9 HX 370 w/ Radeon 890M           
                                                     │   old.txt   │              new.txt               │
                                                     │   sec/op    │   sec/op     vs base               │
Bind/empty.ts-24                                       111.0n ± 3%   111.8n ± 1%       ~ (p=0.517 n=10)
Bind/checker.ts-24                                     10.14m ± 2%   10.09m ± 1%  -0.50% (p=0.023 n=10)
Bind/dom.generated.d.ts-24                             3.617m ± 1%   3.440m ± 1%  -4.90% (p=0.000 n=10)
Bind/Herebyfile.mjs-24                                 178.2µ ± 1%   178.9µ ± 1%       ~ (p=0.436 n=10)
Bind/jsxComplexSignatureHasApplicabilityError.tsx-24   63.24µ ± 1%   61.63µ ± 1%  -2.55% (p=0.000 n=10)
geomean                                                135.6µ        133.7µ       -1.41%
                                                     │   old.txt    │                new.txt                │
                                                     │     B/op     │     B/op      vs base                 │
Bind/empty.ts-24                                         64.00 ± 0%     64.00 ± 0%       ~ (p=1.000 n=10) ¹
Bind/checker.ts-24                                     7.184Mi ± 0%   7.080Mi ± 0%  -1.45% (p=0.000 n=10)
Bind/dom.generated.d.ts-24                             5.232Mi ± 0%   5.041Mi ± 0%  -3.64% (p=0.000 n=10)
Bind/Herebyfile.mjs-24                                 164.1Ki ± 0%   160.8Ki ± 0%  -2.06% (p=0.000 n=10)
Bind/jsxComplexSignatureHasApplicabilityError.tsx-24   108.6Ki ± 0%   105.2Ki ± 0%  -3.11% (p=0.000 n=10)
geomean                                                134.4Ki        131.7Ki       -2.06%
¹ all samples are equal
                                                     │   old.txt   │               new.txt                │
                                                     │  allocs/op  │  allocs/op   vs base                 │
Bind/empty.ts-24                                        1.000 ± 0%    1.000 ± 0%       ~ (p=1.000 n=10) ¹
Bind/checker.ts-24                                     13.97k ± 0%   13.95k ± 0%  -0.16% (p=0.000 n=10)
Bind/dom.generated.d.ts-24                             16.59k ± 0%   16.56k ± 0%  -0.17% (p=0.000 n=10)
Bind/Herebyfile.mjs-24                                  355.0 ± 0%    346.0 ± 0%  -2.54% (p=0.000 n=10)
Bind/jsxComplexSignatureHasApplicabilityError.tsx-24    278.0 ± 0%    269.0 ± 0%  -3.24% (p=0.000 n=10)
geomean                                                 469.7         464.0       -1.23%
¹ all samples are equal

Co-Authored-By: Letta Code <noreply@letta.com>
Copilot AI review requested due to automatic review settings July 27, 2026 16:48

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Removes unused classifiable-name tracking to reduce binder allocations and improve performance.

Changes:

  • Removes the unused per-file classifiable-name set.
  • Removes binder bookkeeping for classifiable declarations.
  • Removes the now-unused composite symbol flag.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
internal/binder/binder.go Removes classifiable-name collection and assignment.
internal/ast/symbolflags.go Removes the unused SymbolFlagsClassifiable flag.
internal/ast/ast.go Removes SourceFile.ClassifiableNames and its unused import.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants