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

Cache function return types #7058

Merged
merged 1 commit into from Jan 7, 2015

Conversation

wmtan
Copy link
Contributor

@wmtan wmtan commented Jan 6, 2015

relval 25 step 3 ran 20% slower per event in ROOT6 that in ROOT5. Much of the problem was traced to FunctionWithDict::finalReturnType(), which constructed a TypeWithDict from the name of the function's return type every time it was called. Simply caching the return types in a concurrent_unordered_map reduced the run time of finalReturnType() by two orders of magnitude, and recovered most or all of the 20% performance deficit.
Please merge this pull request as soon as convenient.

@cmsbuild
Copy link
Contributor

cmsbuild commented Jan 6, 2015

A new Pull Request was created by @wmtan for CMSSW_7_4_ROOT6_X.

Cache function return types

It involves the following packages:

CommonTools/Utils
FWCore/Utilities

@nclopezo, @monttj, @cmsbuild, @Dr15Jones, @StoyanStoynev, @slava77, @vadler, @ktf can you please review it and eventually sign? Thanks.
@Martin-Grunewald, @wddgit this is something you requested to watch as well.
You can sign-off by replying to this message having '+1' in the first line of your reply.
You can reject by replying to this message having '-1' in the first line of your reply.
If you are a L2 or a release manager you can ask for tests by saying 'please test' in the first line of a comment.

davidlt added a commit that referenced this pull request Jan 7, 2015
@davidlt davidlt merged commit 365a19c into cms-sw:CMSSW_7_4_ROOT6_X Jan 7, 2015
@wmtan wmtan deleted the CacheFunctionReturnTypes branch January 7, 2015 00:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants