#12078 [29.x]Reduce allocations in the "Export to Execl" scenario (#11870)
The Export to Excel scenario now allocates significantly less memory by reusing a CellDecorator instance, eliminating redundant ExcelBuf record calculations, and reducing method call overhead during column processing.
- 1files
- 1AL files
- 1objects
Pull request · merged into releases/29.x (BC29) on 2026-10-07 by PhDuck · 1 file (+30 -14), 1 AL · performance · tier official · reviewed (checked by Opus)
What changed
- Reuses the default CellDecorator instead of creating new instances for each column-row combination
- Removes unnecessary ExcelBuf record instantiation that was only used to calculate cell format names
- Reduces AL method call scope allocations during export processing
- Decreases memory allocations from 168GB to 68GB for 100k G/L Entries exports
- Reduces garbage collection pause time from 12.8 seconds to 5.7 seconds in test scenarios
AL objects touched
- Codeunit 6223 “OpenXML Management”, Base Application: modified
Context
- Work items: AB#652103
- Labels: Team: Integrations
- Systems: development
- From the description: “removes three easy allocations that was done for each column of each row”
Source: metadata of a merged pull request in microsoft/BCApps (bcapps): title, labels, changed paths and counts, with a summary in our words. No source text and no description beyond one short quote (D10, D61).