You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 659894f
Browse filesBrowse the repository at this point in the historyBrowse files
Move optional structured type shape into cold storage
Every object, union, and intersection paid for signature and index-info
slice headers, a call-signature count, and a node-builder cache, even
when none were needed. Those fields made StructuredType 144 bytes on
amd64. Keep them in an optional checker-arena sidecar and reduce the
hot record to 88 bytes.
Preserve signature publication during recursive anonymous resolution,
clipped public signature slices, index-info nil/empty distinctions,
and independent node-builder cache identity. Empty unresolved shape
does not allocate a sidecar.
Compared with the parent commit, including all previous checker, AST,
and symbol reductions. Six fresh-process
interleaved samples parse, bind, and check the actual VS Code project
using one checker and normal GC settings.
Live heap falls another 1.81%, GC scan bytes fall 2.01%, and allocated
bytes fall 1.28%. Allocation counts do not differ significantly.
Neither hardware instructions nor elapsed time establishes a change;
this does not claim a CPU improvement.
Exact CLI diagnostic text and compiler counts match the baseline.
Exact benchstat output:
goos: linux
goarch: amd64
pkg: github.com/microsoft/TypeScript/tsc/internal/checker
cpu: Intel(R) Core(TM) i9-10900K CPU @ 3.70GHz
│ vscode-shape-before.txt │ vscode-shape.txt │
│ sec/op │ sec/op vs base │
ExternalProgram-20 41.55 ± 6% 41.84 ± 13% ~ (p=0.937 n=6)
│ vscode-shape-before.txt │ vscode-shape.txt │
│ diagnostics │ diagnostics vs base │
ExternalProgram-20 321.0 ± 0% 321.0 ± 0% ~ (p=1.000 n=6) ¹
¹ all samples are equal
│ vscode-shape-before.txt │ vscode-shape.txt │
│ files │ files vs base │
ExternalProgram-20 10.28k ± 0% 10.28k ± 0% ~ (p=1.000 n=6) ¹
¹ all samples are equal
│ vscode-shape-before.txt │ vscode-shape.txt │
│ retained-B │ retained-B vs base │
ExternalProgram-20 3.959Gi ± 0% 3.887Gi ± 0% -1.81% (p=0.002 n=6)
│ vscode-shape-before.txt │ vscode-shape.txt │
│ scan-B │ scan-B vs base │
ExternalProgram-20 3.553Gi ± 0% 3.482Gi ± 0% -2.01% (p=0.002 n=6)
│ vscode-shape-before.txt │ vscode-shape.txt │
│ symbols │ symbols vs base │
ExternalProgram-20 4.154M ± 0% 4.154M ± 0% ~ (p=1.000 n=6) ¹
¹ all samples are equal
│ vscode-shape-before.txt │ vscode-shape.txt │
│ B/op │ B/op vs base │
ExternalProgram-20 5.577Gi ± 0% 5.506Gi ± 0% -1.28% (p=0.002 n=6)
│ vscode-shape-before.txt │ vscode-shape.txt │
│ allocs/op │ allocs/op vs base │
ExternalProgram-20 27.36M ± 0% 27.35M ± 0% ~ (p=0.818 n=6)
│ shape-before-instructions.txt │ shape-instructions.txt │
│ instructions/op │ instructions/op vs base │
ExternalInstructions-20 292.5G ± 4% 301.6G ± 4% ~ (p=0.093 n=6)
0 commit comments