code change · performanceAL Developmentofficial - Microsoftreviewed - checked by Opus

#11870 Reduce allocations in the "Export to Execl" scenario

The Export to Excel scenario now allocates less memory by reusing objects instead of creating new ones for each cell, reducing garbage collection pressure in production.

Pull request · merged into main (BC30) on 2026-09-28 by PhDuck · 1 file (+30 -14), 1 AL · performance · tier official · reviewed (checked by Opus)

What changed

  • Reuse CellDecorator object instead of creating a new one per column
  • Avoid allocating ExcelBuf record for cell format name calculations
  • Eliminate method scope allocations by inlining AL method call
  • Reduces allocations from 168GB to 68GB for 100k G/L Entries export
  • Cuts garbage collection pause time from 12.8 seconds to 5.7 seconds

AL objects touched

Context

  • Work items: AB#651523
  • 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).