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
remove memory-churn in SiPixelTemplate2D::pushfile #40537
Conversation
@@ -61,7 +61,7 @@ class SiPixel2DTemplateDBObject { | |||
int maxIndex() const { return maxIndex_; } | |||
int numOfTempl() const { return numOfTempl_; } | |||
float version() const { return version_; } | |||
std::vector<float> sVector() const { return sVector_; } | |||
std::vector<float> const& sVector() const { return sVector_; } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
to be honest this is the ONLY change that makes a real difference
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If code-owners prefer: just keep this.
The ultimate optimization should be to create an EsProduct with what produced by pushFile to avoid to have a copy for each producer (in each thread) |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-40537/33759
|
@cmsbuild please test |
one needs to test digit premix (not sure is included in default tests) |
A new Pull Request was created by @VinInn (Vincenzo Innocente) for master. It involves the following packages:
@malbouis, @yuanchao, @ChrisMisan, @clacaputo, @saumyaphor4252, @ggovi, @tvami, @mandrenguyen, @francescobrivio can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-40537/33766
|
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-45cf13/30016/summary.html Comparison SummaryThere are some workflows for which there are errors in the baseline: Summary:
|
type performance-improvement |
+alca
|
+reconstruction |
test parameters:
|
@cmsbuild , please test |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-45cf13/30129/summary.html Comparison SummarySummary:
|
+db
|
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, @rappoccio (and backports should be raised in the release meeting by the corresponding L2) |
+1
|
PreMIx workflow was affected by a huge "memmove" storm during initialization (first event).
It was easy to locate it in SiPixelTemplate2D::pushfile.
In this purely technical PR all copies of vectors (of vectors (eventually of vectors)) have been removed.
running just initialization using
memory allocation is reduced
from
5017054 kmem:mm_page_alloc
5835471 kmem:mm_page_free
to
1341162 kmem:mm_page_alloc
2126517 kmem:mm_page_free
while the system time goes down from
61.298107000 seconds
to
21.264676000 seconds
I made minimal changes preserving previous behavior.
I leave to code owners any eventual further cleanup.
No change expected.