Skip to content

Commit 00c306a

Browse files
CopilotT-Gro
andcommitted
Update GC_ANALYSIS.md with validation status pending CI build
Co-authored-by: T-Gro <46543583+T-Gro@users.noreply.github.com>
1 parent 362bc18 commit 00c306a

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

docs/perf-analysis/GC_ANALYSIS.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,12 +118,19 @@ In `src/Compiler/Checking/import.fs`, the `ImportILTypeDef` function was storing
118118

119119
### Fix Applied
120120
Modified `ImportILTypeDef` to:
121-
1. Check if nullness features are enabled (`amap.g.langFeatureNullness && amap.g.checkNullness`)
122-
2. If enabled: immediately read attrs with `tdef.CustomAttrsStored.GetCustomAttrs(tdef.MetadataIndex)` and wrap in `Given`
123-
3. If disabled: use empty attributes to avoid any reference
121+
1. Added type annotation `(amap: ImportMap)` to fix type inference
122+
2. Check if nullness features are enabled (`amap.g.langFeatureNullness && amap.g.checkNullness`)
123+
3. If enabled: immediately read attrs with `tdef.CustomAttrsStored.GetCustomAttrs(tdef.MetadataIndex)` and wrap in `Given`
124+
4. If disabled: use empty attributes to avoid any reference
124125

125126
This prevents the closure from keeping large `ILTypeDef` objects alive.
126127

128+
### Validation Status
129+
**Pending**: After CI builds the fixed compiler, the 5000-module experiment should be repeated to verify:
130+
- Reduced memory growth rate
131+
- Stable or reduced `ImportILTypeDef@712` closure count
132+
- Improved CPU utilization over time
133+
127134
## Key Findings
128135

129136
1. **GC Heap is stable at ~300 MB** despite RSS growing to 10+ GB

0 commit comments

Comments
 (0)