#97 Add per-row AL performance guidance
New performance guidance documents how to use SetAutoCalcFields for per-row FlowFields and how to avoid cloning records before Modify or Delete in loops, with corrections to the commit checkpoint sample.
- 9files
- 9AL files
- 0objects
Pull request · merged into main on 2026-07-14 by JesperSchulz · 9 files (+174 -18), 9 AL · feature · tier official · reviewed (checked by Opus)
What changed
- New guidance and AL samples for using SetAutoCalcFields with per-row FlowFields
- New guidance and samples for avoiding cloning records before Modify or Delete in loops
- Commit-checkpoint sample corrected: selects at most 500 ordered keys into a temporary buffer, then locks and processes only those keys
- Performance review skill gained precise cues for per-row Commit and clone-before-write, with exclusions for valid checkpoints and direct writes
- CalcSums remains the rule for a single filtered-set aggregate
AL objects touched
microsoft/knowledge/performance/avoid-cloning-records-before-modify-delete-in-loops.bad.al: added, not in the BC? snapshot yetmicrosoft/knowledge/performance/avoid-cloning-records-before-modify-delete-in-loops.good.al: added, not in the BC? snapshot yetmicrosoft/knowledge/performance/avoid-cloning-records-before-modify-delete-in-loops.md: added, not in the BC? snapshot yetmicrosoft/knowledge/performance/avoid-commit-inside-loops.good.al: modified, not in the BC? snapshotmicrosoft/knowledge/performance/avoid-commit-inside-loops.md: modified, not in the BC? snapshotmicrosoft/knowledge/performance/use-setautocalcfields-for-per-row-flowfields.bad.al: added, not in the BC? snapshot yetmicrosoft/knowledge/performance/use-setautocalcfields-for-per-row-flowfields.good.al: added, not in the BC? snapshot yetmicrosoft/knowledge/performance/use-setautocalcfields-for-per-row-flowfields.md: added, not in the BC? snapshot yetmicrosoft/skills/review/al-performance-review.md: modified, not in the BC? snapshot
Context
- Systems: development, platform
Source: metadata of a merged pull request in microsoft/BCQuality (bcquality): title, labels, changed paths and counts, with a summary in our words. No source text and no description beyond one short quote (D10, D61).