Skip to content
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

Faster setup of EventPrincipal #28505

Merged
merged 12 commits into from
Dec 5, 2019
Merged

Conversation

Dr15Jones
Copy link
Contributor

PR description:

Several optimizations to make the call to fillEventPrincipal more efficient.

PR validation:

Framework unit tests pass.

The variable being moved was already being passed as a R value reference.
The map index was already a dense packed integral value, BranchListIndex.
The ProcessHistory is shared by all data products in the Event, therefore not needed by each data product.
This avoids the need to set the history for each data product each time we have a new event.
The code is actually dependent on ProcessHistory and not on ProcessHistoryRegistry (which is just one particular way of getting the ProcessHistory).
The ProductProvenanceRetriever is created in the EventPrincipal's constructor and never changes. Therefore it is possible to set the value in the ProductResolvers at construction time as well.
If BranchListIndex does not change we do not update structures.
@cmsbuild
Copy link
Contributor

The code-checks are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-28505/12956

  • This PR adds an extra 248KB to repository

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @Dr15Jones (Chris Jones) for master.

It involves the following packages:

DataFormats/Common
DataFormats/FWLite
DataFormats/Provenance
FWCore/Common
FWCore/Framework
FWCore/Integration
FWCore/Modules
FWCore/Sources
FWCore/TFWLiteSelector
FWCore/TestProcessor
IOPool/Input
IOPool/Streamer

@cmsbuild, @smuzaffar, @Dr15Jones can you please review it and eventually sign? Thanks.
@makortel, @rovere, @wddgit this is something you requested to watch as well.
@davidlange6, @slava77, @fabiocos you are the release manager for this.

cms-bot commands are listed here

@Dr15Jones
Copy link
Contributor Author

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Nov 28, 2019

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-run-pr-tests/3688/console Started: 2019/11/28 22:43

@cmsbuild
Copy link
Contributor

-1

Tested at: 76e4096

You can see the results of the tests here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-469840/3688/summary.html

I found follow errors while testing this PR

Failed tests: Build

  • Build:

I found compilation error when building:

>> Entering Package DQMServices/FwkIO
Entering library rule at src/DQMServices/FwkIO/plugins
>> Compiling edm plugin /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_0_X_2019-11-28-1100/src/DQMServices/FwkIO/plugins/DQMRootOutputModule.cc 
>> Compiling edm plugin /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_0_X_2019-11-28-1100/src/DQMServices/FwkIO/plugins/DQMRootSource.cc 
/data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_0_X_2019-11-28-1100/src/DQMServices/FwkIO/plugins/DQMRootSource.cc: In member function 'virtual void DQMRootSource::readLuminosityBlock_(edm::LuminosityBlockPrincipal&)':
/data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_0_X_2019-11-28-1100/src/DQMServices/FwkIO/plugins/DQMRootSource.cc:615:73: error: no matching function for call to 'edm::LuminosityBlockPrincipal::fillLuminosityBlockPrincipal(edm::ProcessHistoryRegistry&)'
   lbCache.fillLuminosityBlockPrincipal(processHistoryRegistryForUpdate());
                                                                         ^
In file included from /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_0_X_2019-11-28-1100/src/DQMServices/FwkIO/plugins/DQMRootSource.cc:39:
/data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_0_X_2019-11-28-1100/src/FWCore/Framework/interface/LuminosityBlockPrincipal.h:43:10: note: candidate: 'void edm::LuminosityBlockPrincipal::fillLuminosityBlockPrincipal(const edm::ProcessHistory*, edm::DelayedReader*)'
     void fillLuminosityBlockPrincipal(ProcessHistory const* processHistory, DelayedReader* reader = nullptr);


@cmsbuild
Copy link
Contributor

Comparison not run due to Build errors (RelVals and Igprof tests were also skipped)

Call new LuminosityBlockPrincipal::fillLuminosityBlock interface.
@Dr15Jones
Copy link
Contributor Author

+1

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 4, 2019

Comparison is ready
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-469840/3770/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 34
  • DQMHistoTests: Total histograms compared: 2793840
  • DQMHistoTests: Total failures: 1
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2793498
  • DQMHistoTests: Total skipped: 341
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 33 files compared)
  • Checked 147 log files, 16 edm output root files, 34 DQM output files

@jfernan2
Copy link
Contributor

jfernan2 commented Dec 4, 2019

+1

@civanch
Copy link
Contributor

civanch commented Dec 4, 2019

+1

@perrotta
Copy link
Contributor

perrotta commented Dec 4, 2019

+1

  • Technical, jenkins tests pass

@santocch
Copy link

santocch commented Dec 5, 2019

+1

@fabiocos
Copy link
Contributor

fabiocos commented Dec 5, 2019

@qliphy @agrohsje the change in the generator area is quite limited and technical, please have a look, I will integrate this PR in next IB

@fabiocos
Copy link
Contributor

fabiocos commented Dec 5, 2019

there is no real conflict with #28551

@fabiocos
Copy link
Contributor

fabiocos commented Dec 5, 2019

+1

@fabiocos
Copy link
Contributor

fabiocos commented Dec 5, 2019

merge

@cmsbuild cmsbuild merged commit d4151f4 into cms-sw:master Dec 5, 2019
@Dr15Jones Dr15Jones deleted the fasterEventPrincipal branch December 5, 2019 21:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment