[PR #6573] Improved ATTR_ROW::ReplaceAttrs performance #26745

Open
opened 2026-01-31 09:17:52 +00:00 by claunia · 0 comments
Owner

Original Pull Request: https://github.com/microsoft/terminal/pull/6573

State: closed
Merged: Yes


Summary of the Pull Request

Improve ATTR_ROW::ReplaceAttrs performance by only reserving the necessary capacity instead of resizing the new run.
That way TextAttributeRuns are only instantiated once instead of twice.

PR Checklist

  • Closes #xxx
  • CLA signed. If not, go over here and sign the CLA
  • Tests added/passed
  • Requires documentation to be updated
  • I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx

Detailed Description of the Pull Request / Additional comments

Performance could be further improved by directly moving TextAttributeRuns into the new vector, but I considered this out of scope for this PR.

Validation Steps Performed

CPU usage when running cacafire is slightly reduced.

**Original Pull Request:** https://github.com/microsoft/terminal/pull/6573 **State:** closed **Merged:** Yes --- ## Summary of the Pull Request Improve `ATTR_ROW::ReplaceAttrs` performance by only reserving the necessary capacity instead of resizing the new run. That way `TextAttributeRun`s are only instantiated once instead of twice. ## PR Checklist * [ ] Closes #xxx * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [x] Tests added/passed * [ ] Requires documentation to be updated * [ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx ## Detailed Description of the Pull Request / Additional comments Performance could be further improved by directly moving `TextAttributeRun`s into the new vector, but I considered this out of scope for this PR. ## Validation Steps Performed CPU usage when running `cacafire` is slightly reduced.
claunia added the pull-request label 2026-01-31 09:17:52 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#26745