Problem
The sync modifiers (synccomputesmodifier.ts, syncfixesmodifier.ts, syncvariablesmodifier.ts) retrieve name arrays from WASM but never delete them, causing memory leaks.
Current Behavior
In all three sync modifiers:
computeNames, fixNames, or variableNames are obtained via getComputeNames(), getFixNames(), or getVariableNames()
- These
CPPArray<string> objects are used in loops but never cleaned up with .delete()
- This causes WASM memory to accumulate over time
Expected Behavior
After the loop completes processing all names, the array wrapper should be deleted to free WASM memory.
Files to Modify
src/modifiers/synccomputesmodifier.ts - Add computeNames.delete() after line 123
src/modifiers/syncfixesmodifier.ts - Add fixNames.delete() after line 118
src/modifiers/syncvariablesmodifier.ts - Add variableNames.delete() after line 120
Solution
Add .delete() calls after each loop completes, similar to how data1DNamesWrapper, lmpData, and data1DVector are already being deleted elsewhere in the code.
Related
Part of modifier class improvements to fix memory leaks and reduce code duplication.
Problem
The sync modifiers (
synccomputesmodifier.ts,syncfixesmodifier.ts,syncvariablesmodifier.ts) retrieve name arrays from WASM but never delete them, causing memory leaks.Current Behavior
In all three sync modifiers:
computeNames,fixNames, orvariableNamesare obtained viagetComputeNames(),getFixNames(), orgetVariableNames()CPPArray<string>objects are used in loops but never cleaned up with.delete()Expected Behavior
After the loop completes processing all names, the array wrapper should be deleted to free WASM memory.
Files to Modify
src/modifiers/synccomputesmodifier.ts- AddcomputeNames.delete()after line 123src/modifiers/syncfixesmodifier.ts- AddfixNames.delete()after line 118src/modifiers/syncvariablesmodifier.ts- AddvariableNames.delete()after line 120Solution
Add
.delete()calls after each loop completes, similar to howdata1DNamesWrapper,lmpData, anddata1DVectorare already being deleted elsewhere in the code.Related
Part of modifier class improvements to fix memory leaks and reduce code duplication.