Skip to content

BaseTools: Optimize parsing of byte-array PCD values - #1886

Draft
kuqin12 wants to merge 2 commits into
microsoft:release/202511from
kuqin12:fast_ex
Draft

BaseTools: Optimize parsing of byte-array PCD values#1886
kuqin12 wants to merge 2 commits into
microsoft:release/202511from
kuqin12:fast_ex

Conversation

@kuqin12

@kuqin12 kuqin12 commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Description

This change adds a fast path for simple VOID* hexadecimal byte arrays, avoiding the generic expression tokenizer's repeated processing of large PCD values. Regression tests for both paths. It does not change the existing parser for structured and symbolic expressions.

This reduces parsing time for a 28 KiB generated PCD from roughly 2 seconds to 50 milliseconds.

For details on how to complete these options and their meaning refer to CONTRIBUTING.md.

  • Impacts functionality?
  • Impacts security?
  • Breaking change?
  • Includes tests?
  • Includes documentation?

How This Was Tested

This is tested using the newly added unit tests as well as used on the SEA related work.

Integration Instructions

N/A

@mu-automation

mu-automation Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

✅ QEMU Validation Passed

Source Dependencies

Repository Commit
mu_basecore 8383cc3
mu_tiano_platforms 7e81e99

Results

Platform Target Build Boot Overall Boot Time Build Logs Boot Logs
Q35 DEBUG ✅ success ✅ success 0m 16s Build Logs Boot Logs
ArmVirt DEBUG ✅ success ✅ success 0m 13s Build Logs Boot Logs

Workflow run: https://github.com/microsoft/mu_basecore/actions/runs/31867849771

This comment was automatically generated by the Mu QEMU PR Validation workflow.

@codecov-commenter

Codecov Comments Bot (codecov-commenter) commented Aug 14, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (release/202511@18de13a). Learn more about missing BASE report.

Additional details and impacted files
@@                Coverage Diff                @@
##             release/202511    #1886   +/-   ##
=================================================
  Coverage                  ?    2.23%           
=================================================
  Files                     ?     1670           
  Lines                     ?   426997           
  Branches                  ?     5078           
=================================================
  Hits                      ?     9528           
  Misses                    ?   417385           
  Partials                  ?       84           
Flag Coverage Δ
FmpDevicePkg 9.53% <ø> (?)
MdeModulePkg 1.65% <ø> (?)
MdePkg 5.44% <ø> (?)
NetworkPkg 0.55% <ø> (?)
PolicyServicePkg 30.42% <ø> (?)
SecurityPkg 1.56% <ø> (?)
StandaloneMmPkg 0.48% <ø> (?)
UefiCpuPkg 4.78% <ø> (?)
UnitTestFrameworkPkg 11.70% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@kuqin12
kuqin12 marked this pull request as draft August 15, 2026 00:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants