Skip to content

Read merge string sections in parallel#814

Open
quic-areg wants to merge 1 commit intoqualcomm:mainfrom
quic-areg:parallel-strings
Open

Read merge string sections in parallel#814
quic-areg wants to merge 1 commit intoqualcomm:mainfrom
quic-areg:parallel-strings

Conversation

@quic-areg
Copy link
Contributor

@quic-areg quic-areg commented Feb 11, 2026

Read merge string sections after section discovery and use
llvm::parallelFor to parse the strings concurrently when threads
are enabled. This reduces time spent in merge string parsing on
inputs with many SHF_MERGE|SHF_STRINGS sections.

@quic-areg
Copy link
Contributor Author

some stats linking clang (debug) with eld (release):

before:
Time (mean ± σ): 386.258 s ± 131.919 s [User: 376.932 s, System: 13.897 s]
Range (min … max): 225.151 s … 565.894 s 10 runs
after:
Time (mean ± σ): 342.247 s ± 128.137 s [User: 332.411 s, System: 14.127 s]
Range (min … max): 221.723 s … 552.496 s 10 runs

return std::make_unique<plugin::DiagnosticEntry>(
plugin::DiagnosticEntry(Diag::err_cannot_read_section,
{S->name().str()}));
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

compressed section no longer supported ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for catching this! I am surprised how test/Common/standalone/CompressedSections/ReadCompressedSections.test was able to pass without this though

@quic-areg quic-areg requested a review from partaror February 12, 2026 01:09
@quic-areg quic-areg force-pushed the parallel-strings branch 2 times, most recently from f4c8afc to 6242961 Compare February 12, 2026 03:19
Read merge string sections after section discovery and use
llvm::parallelFor to parse the strings concurrently when threads
are enabled. This reduces time spent in merge string parsing on
inputs with many SHF_MERGE|SHF_STRINGS sections.

Signed-off-by: quic-areg <aregmi@qti.qualcomm.com>
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