New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Puppi speedup: use reserve for vectors #37717
Conversation
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-37717/29554
|
A new Pull Request was created by @kpedro88 (Kevin Pedro) for master. It involves the following packages:
@jpata, @cmsbuild, @clacaputo, @slava77 can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
please test |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-0a5662/24286/summary.html Comparison SummaryThere are some workflows for which there are errors in the baseline: Summary:
|
test parameters
|
@cmsbuild please test |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-0a5662/24318/summary.html Comparison SummarySummary:
|
type jetmet |
IB profile (11834.21 step 4, PAT):
The calls to |
type performace-improvement |
+reconstruction
|
This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @perrotta, @dpiparo, @qliphy (and backports should be raised in the release meeting by the corresponding L2) |
+1 |
PR description:
While profiling, I noticed a non-negligible fraction of time spent in reallocating vectors of candidates in
PuppiProducer
. This occurred because the vectors weren't reserved, and it was noticeable because constructing candidate objects is not lightweight. Therefore, repeating it should be avoided. Properly reserving the offending vectors accomplishes this. This reduced the CPU usage by 10-15% in my tests.PR validation:
Code compiles and runs. CPU impact quantified with igprof. Compared AK8 jet pT in a ttbar workflow to confirm that no changes occurred.
if this PR is a backport please specify the original PR and why you need to backport that PR:
Planned to be backported to 10_6_X (along with some other miscellaneous Puppi speedups that had not yet been backported).