[PR #6493] [MERGED] Add fast path to til::bitmap::translate using bitshifts #26710

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

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/6493
Author: @beviu
Created: 6/13/2020
Status: Merged
Merged: 6/14/2020
Merged by: @DHowett

Base: masterHead: til-bitmap-bitshift


📝 Commits (2)

  • 95a8048 Add fast path to til::bitmap::translate using bit shifts
  • 37f33f6 fix Static Analysis

📊 Changes

1 file changed (+60 additions, -0 deletions)

View changed files

📝 src/inc/til/bitmap.h (+60 -0)

📄 Description

Summary of the Pull Request

Add a fast path to til::bitmap::translate: use bit shifts when the delta is vertical.

Performance while printing the content of a big file, with the patch from #6492 which hasn't been merged yet, in Release mode:

Before:
image

After:
image

References

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

Validation Steps Performed


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/microsoft/terminal/pull/6493 **Author:** [@beviu](https://github.com/beviu) **Created:** 6/13/2020 **Status:** ✅ Merged **Merged:** 6/14/2020 **Merged by:** [@DHowett](https://github.com/DHowett) **Base:** `master` ← **Head:** `til-bitmap-bitshift` --- ### 📝 Commits (2) - [`95a8048`](https://github.com/microsoft/terminal/commit/95a8048282609c534cb1237b62415c2f01a2af11) Add fast path to til::bitmap::translate using bit shifts - [`37f33f6`](https://github.com/microsoft/terminal/commit/37f33f66ccdea54948f15701825faf9576472cca) fix Static Analysis ### 📊 Changes **1 file changed** (+60 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `src/inc/til/bitmap.h` (+60 -0) </details> ### 📄 Description <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request Add a fast path to `til::bitmap::translate`: use bit shifts when the delta is vertical. Performance while printing the content of a big file, with the patch from #6492 which hasn't been merged yet, in Release mode: Before: ![image](https://user-images.githubusercontent.com/56923875/84576235-6e546f80-adb3-11ea-8240-d2fecaf9a812.png) After: ![image](https://user-images.githubusercontent.com/56923875/84576661-bf199780-adb6-11ea-90eb-a4ed629c8458.png) <!-- Other than the issue solved, is this relevant to any other issues/existing PRs? --> ## References <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist * [ ] Closes #xxx * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) 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 <!-- Provide a more detailed description of the PR, other things fixed or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-31 09:17:41 +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#26710