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

[do not merge] [runtime-cxxmodules] Rework our lazy template specialization deserialization mechanism #14495

Draft
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

vgvassilev
Copy link
Member

This PR tries to make progress with upstreaming our lazy template specialization patch lives only in our llvm forks ( https://reviews.llvm.org/D41416) in favor of re-implementing it in a way that we can upstream it (llvm/llvm-project#76774)

@phsft-bot
Copy link
Collaborator

Starting build on ROOT-performance-centos8-multicore/soversion, ROOT-ubuntu2204/nortcxxmod, ROOT-ubuntu2004/python3, mac12arm/cxx20, windows10/default
How to customize builds

@hahnjo hahnjo marked this pull request as draft January 31, 2024 09:32
@phsft-bot
Copy link
Collaborator

Build failed on ROOT-ubuntu2204/nortcxxmod.
Running on root-ubuntu-2204-3.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build
See console output.

Failing tests:

@hahnjo
Copy link
Member

hahnjo commented Jan 31, 2024

I believe you need the "clean build" label here to avoid incremental builds tripping over the old pcms...

@hahnjo hahnjo added the clean build Ask CI to do non-incremental build on PR label Jan 31, 2024
@phsft-bot
Copy link
Collaborator

Build failed on ROOT-ubuntu2004/python3.
Running on root-ubuntu-2004-1.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build
See console output.

Failing tests:

@vgvassilev
Copy link
Member Author

I believe you need the "clean build" label here to avoid incremental builds tripping over the old pcms...

I am lost -- was only triggering a rebuild enough? If so, then I find it hard to believe we cannot compile root without these patches.

@hahnjo
Copy link
Member

hahnjo commented Jan 31, 2024

I believe you need the "clean build" label here to avoid incremental builds tripping over the old pcms...

I am lost -- was only triggering a rebuild enough? If so, then I find it hard to believe we cannot compile root without these patches.

No you need a new workflow run (just push an empty commit or amend the last to get a new commit hash) - the state of labels is recorded at the beginning to avoid some builds running with different settings than others

@phsft-bot
Copy link
Collaborator

Starting build on ROOT-performance-centos8-multicore/soversion, ROOT-ubuntu2204/nortcxxmod, ROOT-ubuntu2004/python3, mac12arm/cxx20, windows10/default
How to customize builds

@phsft-bot
Copy link
Collaborator

Build failed on ROOT-ubuntu2204/nortcxxmod.
Running on root-ubuntu-2204-2.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build
See console output.

Failing tests:

@phsft-bot
Copy link
Collaborator

Build failed on ROOT-ubuntu2004/python3.
Running on root-ubuntu-2004-1.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build
See console output.

Failing tests:

Copy link

github-actions bot commented Jan 31, 2024

Test Results

    11 files      11 suites   1d 19h 27m 24s ⏱️
 2 581 tests  2 580 ✅ 0 💤 1 ❌
26 537 runs  26 536 ✅ 0 💤 1 ❌

For more details on these failures, see this check.

Results for commit 552a7b4.

♻️ This comment has been updated with latest results.

@phsft-bot
Copy link
Collaborator

Starting build on ROOT-performance-centos8-multicore/soversion, ROOT-ubuntu2204/nortcxxmod, ROOT-ubuntu2004/python3, mac12arm/cxx20, windows10/default
How to customize builds

@phsft-bot
Copy link
Collaborator

Build failed on ROOT-ubuntu2004/python3.
Running on root-ubuntu-2004-3.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2024-02-01T15:18:48.975Z] FAILED: interpreter/cling/tools/plugins/clad/clad-prefix/src/clad-stamp/clad-download /home/sftnight/build/workspace/root-pullrequests-build/build/interpreter/cling/tools/plugins/clad/clad-prefix/src/clad-stamp/clad-download
  • [2024-02-01T15:18:48.975Z] CMake Error at clad-stamp/clad-download-Release.cmake:37 (message):
  • [2024-02-01T15:18:48.975Z] CMake Error at /home/sftnight/build/workspace/root-pullrequests-build/build/interpreter/cling/tools/plugins/clad/clad-prefix/tmp/clad-gitclone.cmake:39 (message):
  • [2024-02-01T15:18:48.975Z] CMake Error at clad-stamp/clad-download-Release.cmake:47 (message):

@phsft-bot
Copy link
Collaborator

Build failed on ROOT-ubuntu2204/nortcxxmod.
Running on root-ubuntu-2204-2.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2024-02-01T15:32:24.340Z] CMake Error at clad-stamp/clad-download-Release.cmake:37 (message):
  • [2024-02-01T15:32:24.340Z] Please make sure yCMake Error at clad-stamp/clad-download-Release.cmake:47 (message):
  • [2024-02-01T15:32:24.340Z] CMake Error at /home/sftnight/build/workspace/root-pullrequests-build/build/interpreter/cling/tools/plugins/clad/clad-prefix/tmp/clad-gitclone.cmake:39 (message):

@phsft-bot
Copy link
Collaborator

Starting build on ROOT-performance-centos8-multicore/soversion, ROOT-ubuntu2204/nortcxxmod, ROOT-ubuntu2004/python3, mac12arm/cxx20, windows10/default
How to customize builds

@phsft-bot
Copy link
Collaborator

Build failed on ROOT-ubuntu2204/nortcxxmod.
Running on root-ubuntu-2204-2.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build
See console output.

Failing tests:

@phsft-bot
Copy link
Collaborator

Build failed on ROOT-ubuntu2004/python3.
Running on root-ubuntu-2004-1.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build
See console output.

Failing tests:

@vgvassilev
Copy link
Member Author

@hahnjo, according to our ci this patch seems fine.

@smuzaffar, can we run this PR against cmssw?

cc: @ChuanqiXu9

@hahnjo
Copy link
Member

hahnjo commented Feb 2, 2024

@hahnjo, according to our ci this patch seems fine.

IIUC LoadExternalSpecializationsLazily is still off by default, right? But good that it passes now in this off-by-default mode 👍

@smuzaffar
Copy link
Contributor

@smuzaffar, can we run this PR against cmssw?

CMSSW tests are running via cms-sw#198 (note that cmssw tests are running for non-CXXMODULES builds)

@phsft-bot
Copy link
Collaborator

Starting build on ROOT-performance-centos8-multicore/soversion, ROOT-ubuntu2204/nortcxxmod, ROOT-ubuntu2004/python3, mac12arm/cxx20, windows10/default
How to customize builds

@vgvassilev
Copy link
Member Author

@smuzaffar, can we run this PR against cmssw?

CMSSW tests are running via cms-sw#198 (note that cmssw tests are running for non-CXXMODULES builds)

@smuzaffar, can you interpret the results?

@phsft-bot
Copy link
Collaborator

Build failed on ROOT-ubuntu2204/nortcxxmod.
Running on root-ubuntu-2204-2.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build
See console output.

Failing tests:

@phsft-bot
Copy link
Collaborator

Build failed on ROOT-ubuntu2004/python3.
Running on root-ubuntu-2004-1.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build
See console output.

Failing tests:

@ChuanqiXu9
Copy link
Contributor

Wow, this looks worse than my original patch. But it shows these errors are build time errors instead of runtime errors. It is slightly odd to me.

Yes, it fails during ROOT's build but already in a stage where we are running some built tools to build our modules. This involves loading modules of dependent libraries, so it will trigger the template specialization loading logic.

Got it. Thanks.


@vgvassilev It turns out that the reason for so many failures is we have an ExternalASTSource in root out of the llvm tree, so we don't update that. ChuanqiXu9@570fd78

There is also another bug about the order to remove iterators: ChuanqiXu9@7fb4aa9

Now I can build the project in https://github.com/ChuanqiXu9/root/commits/chuanqi_pr83233/. I only run make instead of ctest. But it may be fine as we said the logic happens at build time actually. I think you can push the 2 commits to the branch to test it with the CI again.

@phsft-bot
Copy link
Collaborator

Starting build on ROOT-performance-centos8-multicore/soversion, ROOT-ubuntu2204/nortcxxmod, ROOT-ubuntu2004/python3, mac12arm/cxx20, windows10/default
How to customize builds

@vgvassilev
Copy link
Member Author

Wow, this looks worse than my original patch. But it shows these errors are build time errors instead of runtime errors. It is slightly odd to me.

Yes, it fails during ROOT's build but already in a stage where we are running some built tools to build our modules. This involves loading modules of dependent libraries, so it will trigger the template specialization loading logic.

Got it. Thanks.

@vgvassilev It turns out that the reason for so many failures is we have an ExternalASTSource in root out of the llvm tree, so we don't update that. ChuanqiXu9@570fd78

There is also another bug about the order to remove iterators: ChuanqiXu9@7fb4aa9

Now I can build the project in https://github.com/ChuanqiXu9/root/commits/chuanqi_pr83233/. I only run make instead of ctest. But it may be fine as we said the logic happens at build time actually. I think you can push the 2 commits to the branch to test it with the CI again.

@ChuanqiXu9, that is really awesome! Apologies for the oversight of the ExternalASTSource. I've pushed these changes and let's see what happens.

@vgvassilev
Copy link
Member Author

Wow, this looks worse than my original patch. But it shows these errors are build time errors instead of runtime errors. It is slightly odd to me.

Yes, it fails during ROOT's build but already in a stage where we are running some built tools to build our modules. This involves loading modules of dependent libraries, so it will trigger the template specialization loading logic.

Got it. Thanks.
@vgvassilev It turns out that the reason for so many failures is we have an ExternalASTSource in root out of the llvm tree, so we don't update that. ChuanqiXu9@570fd78
There is also another bug about the order to remove iterators: ChuanqiXu9@7fb4aa9
Now I can build the project in https://github.com/ChuanqiXu9/root/commits/chuanqi_pr83233/. I only run make instead of ctest. But it may be fine as we said the logic happens at build time actually. I think you can push the 2 commits to the branch to test it with the CI again.

@ChuanqiXu9, that is really awesome! Apologies for the oversight of the ExternalASTSource. I've pushed these changes and let's see what happens.

@ChuanqiXu9, the tests look good on our side. I will compare performance but I think we should bring these changes to the upstream pull request and ask the google folks to test the scalability of the patch.

@ChuanqiXu9
Copy link
Contributor

@vgvassilev Great!

For performances, it looks like you lack a commit from the branch https://github.com/ChuanqiXu9/root/commits/chuanqi_pr83233/, which tries to reduce the time we calculating the ODR Hash.

@vgvassilev
Copy link
Member Author

@vgvassilev Great!

For performances, it looks like you lack a commit from the branch https://github.com/ChuanqiXu9/root/commits/chuanqi_pr83233/, which tries to reduce the time we calculating the ODR Hash.

Do you mean this one: ChuanqiXu9@2467fe7 ?

@hahnjo
Copy link
Member

hahnjo commented Mar 5, 2024

@vgvassilev FYI mac14arm fails to build the dictionary for TMVAUtils, with a crash in cling::DeclCollector::HandleInterestingDecl...

@ChuanqiXu9
Copy link
Contributor

@vgvassilev Great!
For performances, it looks like you lack a commit from the branch https://github.com/ChuanqiXu9/root/commits/chuanqi_pr83233/, which tries to reduce the time we calculating the ODR Hash.

Do you mean this one: ChuanqiXu9@2467fe7 ?

Yes

@vgvassilev
Copy link
Member Author

@vgvassilev FYI mac14arm fails to build the dictionary for TMVAUtils, with a crash in cling::DeclCollector::HandleInterestingDecl...

Ha, ok, until now I only saw Failed to open the S3 connection: You must provide an auth secret.. That might be "just" missing a PushTransactionRAII on our side. Is there a way to build a debug + asserts version of that?

@phsft-bot
Copy link
Collaborator

Starting build on ROOT-performance-centos8-multicore/soversion, ROOT-ubuntu2204/nortcxxmod, ROOT-ubuntu2004/python3, mac12arm/cxx20, windows10/default
How to customize builds

@phsft-bot
Copy link
Collaborator

Starting build on ROOT-performance-centos8-multicore/soversion, ROOT-ubuntu2204/nortcxxmod, ROOT-ubuntu2004/python3, mac12arm/cxx20, windows10/default
How to customize builds

@root-project root-project deleted a comment from phsft-bot Mar 5, 2024
@root-project root-project deleted a comment from phsft-bot Mar 5, 2024
@phsft-bot
Copy link
Collaborator

Starting build on ROOT-performance-centos8-multicore/soversion, ROOT-ubuntu2204/nortcxxmod, ROOT-ubuntu2004/python3, mac12arm/cxx20, windows10/default
How to customize builds

@phsft-bot
Copy link
Collaborator

Build failed on ROOT-ubuntu2204/nortcxxmod.
Running on root-ubuntu-2204-2.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2024-03-05T14:29:03.554Z] /home/sftnight/build/workspace/root-pullrequests-build/root/interpreter/llvm-project/clang/lib/AST/DeclTemplate.cpp:325:36: error: ‘template<class EntryType> struct clang::RedeclarableTemplateDecl::SpecEntryTraits’ is protected within this context
  • [2024-03-05T14:29:03.554Z] /home/sftnight/build/workspace/root-pullrequests-build/root/interpreter/llvm-project/clang/lib/AST/DeclTemplate.cpp:329:46: error: ‘template<class EntryType> struct clang::RedeclarableTemplateDecl::SpecEntryTraits’ is protected within this context
  • [2024-03-05T14:29:03.554Z] /home/sftnight/build/workspace/root-pullrequests-build/root/interpreter/llvm-project/clang/lib/AST/DeclTemplate.cpp:325:36: error: ‘template<class EntryType> struct clang::RedeclarableTemplateDecl::SpecEntryTraits’ is protected within this context
  • [2024-03-05T14:29:03.554Z] /home/sftnight/build/workspace/root-pullrequests-build/root/interpreter/llvm-project/clang/lib/AST/DeclTemplate.cpp:329:46: error: ‘template<class EntryType> struct clang::RedeclarableTemplateDecl::SpecEntryTraits’ is protected within this context
  • [2024-03-05T14:29:03.554Z] /home/sftnight/build/workspace/root-pullrequests-build/root/interpreter/llvm-project/clang/lib/AST/DeclTemplate.cpp:325:36: error: ‘template<class EntryType> struct clang::RedeclarableTemplateDecl::SpecEntryTraits’ is protected within this context
  • [2024-03-05T14:29:03.555Z] /home/sftnight/build/workspace/root-pullrequests-build/root/interpreter/llvm-project/clang/lib/AST/DeclTemplate.cpp:329:46: error: ‘template<class EntryType> struct clang::RedeclarableTemplateDecl::SpecEntryTraits’ is protected within this context
  • [2024-03-05T14:29:03.555Z] /home/sftnight/build/workspace/root-pullrequests-build/root/interpreter/llvm-project/clang/lib/AST/DeclTemplate.cpp:325:36: error: ‘template<class EntryType> struct clang::RedeclarableTemplateDecl::SpecEntryTraits’ is protected within this context
  • [2024-03-05T14:29:03.555Z] /home/sftnight/build/workspace/root-pullrequests-build/root/interpreter/llvm-project/clang/lib/AST/DeclTemplate.cpp:329:46: error: ‘template<class EntryType> struct clang::RedeclarableTemplateDecl::SpecEntryTraits’ is protected within this context
  • [2024-03-05T14:29:03.555Z] /home/sftnight/build/workspace/root-pullrequests-build/root/interpreter/llvm-project/clang/lib/AST/DeclTemplate.cpp:325:36: error: ‘template<class EntryType> struct clang::RedeclarableTemplateDecl::SpecEntryTraits’ is protected within this context
  • [2024-03-05T14:29:03.555Z] /home/sftnight/build/workspace/root-pullrequests-build/root/interpreter/llvm-project/clang/lib/AST/DeclTemplate.cpp:329:46: error: ‘template<class EntryType> struct clang::RedeclarableTemplateDecl::SpecEntryTraits’ is protected within this context

@phsft-bot
Copy link
Collaborator

Build failed on windows10/default.
Running on null:C:\build\workspace\root-pullrequests-build
See console output.

Errors:

  • [2024-03-05T14:40:00.763Z] C:\build\workspace\root-pullrequests-build\root\interpreter\llvm-project\clang\lib\AST\DeclTemplate.cpp(343,21): error C2672: 'findSpecializationLocally': no matching overloaded function found [C:\build\workspace\root-pullrequests-build\build\interpreter\llvm-project\llvm\tools\clang\lib\AST\obj.clangAST.vcxproj]
  • [2024-03-05T14:40:00.763Z] C:\build\workspace\root-pullrequests-build\root\interpreter\llvm-project\clang\lib\AST\DeclTemplate.cpp(342,1): error C2893: Failed to specialize function template 'RedeclarableTemplateDecl::SpecEntryTraits<EntryType>::DeclType findSpecializationLocally(llvm::FoldingSetVector<EntryType,llvm::SmallVector<T,8>> &,void *&,clang::ASTContext &,ProfileArguments &&...)' [C:\build\workspace\root-pullrequests-build\build\interpreter\llvm-project\llvm\tools\clang\lib\AST\obj.clangAST.vcxproj]
  • [2024-03-05T14:40:03.262Z] C:\build\workspace\root-pullrequests-build\root\interpreter\llvm-project\clang\lib\AST\DeclTemplate.cpp(342,1): error C3536: 'Found': cannot be used before it is initialized [C:\build\workspace\root-pullrequests-build\build\interpreter\llvm-project\llvm\tools\clang\lib\AST\obj.clangAST.vcxproj]
  • [2024-03-05T14:40:03.262Z] C:\build\workspace\root-pullrequests-build\root\interpreter\llvm-project\clang\lib\AST\DeclTemplate.cpp(345,12): error C2440: 'return': cannot convert from 'int' to 'clang::RedeclarableTemplateDecl::SpecEntryTraits<clang::FunctionTemplateSpecializationInfo>::DeclType *' [C:\build\workspace\root-pullrequests-build\build\interpreter\llvm-project\llvm\tools\clang\lib\AST\obj.clangAST.vcxproj]
  • [2024-03-05T14:40:05.853Z] C:\build\workspace\root-pullrequests-build\root\interpreter\llvm-project\clang\lib\AST\DeclTemplate.cpp(352,10): error C2672: 'findSpecializationLocally': no matching overloaded function found [C:\build\workspace\root-pullrequests-build\build\interpreter\llvm-project\llvm\tools\clang\lib\AST\obj.clangAST.vcxproj]
  • [2024-03-05T14:40:05.853Z] C:\build\workspace\root-pullrequests-build\root\interpreter\llvm-project\clang\lib\AST\DeclTemplate.cpp(345,12): error C2440: 'return': cannot convert from 'int' to 'clang::ClassTemplateSpecializationDecl *' [C:\build\workspace\root-pullrequests-build\build\interpreter\llvm-project\llvm\tools\clang\lib\AST\obj.clangAST.vcxproj]
  • [2024-03-05T14:40:07.613Z] C:\build\workspace\root-pullrequests-build\root\interpreter\llvm-project\clang\lib\AST\DeclTemplate.cpp(345,12): error C2440: 'return': cannot convert from 'int' to 'clang::ClassTemplatePartialSpecializationDecl *' [C:\build\workspace\root-pullrequests-build\build\interpreter\llvm-project\llvm\tools\clang\lib\AST\obj.clangAST.vcxproj]
  • [2024-03-05T14:40:09.509Z] C:\build\workspace\root-pullrequests-build\root\interpreter\llvm-project\clang\lib\AST\DeclTemplate.cpp(345,12): error C2440: 'return': cannot convert from 'int' to 'clang::VarTemplateSpecializationDecl *' [C:\build\workspace\root-pullrequests-build\build\interpreter\llvm-project\llvm\tools\clang\lib\AST\obj.clangAST.vcxproj]
  • [2024-03-05T14:40:12.247Z] C:\build\workspace\root-pullrequests-build\root\interpreter\llvm-project\clang\lib\AST\DeclTemplate.cpp(345,12): error C2440: 'return': cannot convert from 'int' to 'clang::VarTemplatePartialSpecializationDecl *' [C:\build\workspace\root-pullrequests-build\build\interpreter\llvm-project\llvm\tools\clang\lib\AST\obj.clangAST.vcxproj]

@vgvassilev
Copy link
Member Author

@vgvassilev Great!
For performances, it looks like you lack a commit from the branch https://github.com/ChuanqiXu9/root/commits/chuanqi_pr83233/, which tries to reduce the time we calculating the ODR Hash.

Do you mean this one: ChuanqiXu9@2467fe7 ?

Yes

@ChuanqiXu9, looks like the commit I took is broken. Did you forget to push your latest changes?

@phsft-bot
Copy link
Collaborator

Build failed on mac12arm/cxx20.
Running on 194.12.161.128:/Users/sftnight/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2024-03-05T15:14:15.451Z] FAILED: interpreter/llvm-project/llvm/tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/DeclTemplate.cpp.o
  • [2024-03-05T15:14:15.854Z] /Users/sftnight/build/workspace/root-pullrequests-build/root/interpreter/llvm-project/clang/lib/AST/DeclTemplate.cpp:325:36: error: 'SpecEntryTraits' is a protected member of 'clang::RedeclarableTemplateDecl'
  • [2024-03-05T15:14:15.854Z] /Users/sftnight/build/workspace/root-pullrequests-build/root/interpreter/llvm-project/clang/lib/AST/DeclTemplate.cpp:329:46: error: 'SpecEntryTraits' is a protected member of 'clang::RedeclarableTemplateDecl'

@ChuanqiXu9
Copy link
Contributor

@vgvassilev Great!
For performances, it looks like you lack a commit from the branch https://github.com/ChuanqiXu9/root/commits/chuanqi_pr83233/, which tries to reduce the time we calculating the ODR Hash.

Do you mean this one: ChuanqiXu9@2467fe7 ?

Yes

@ChuanqiXu9, looks like the commit I took is broken. Did you forget to push your latest changes?

Weird. It compiles good locally. I don't know why it can work in my local environment as it accesses the protected type actually. I just tried to refactor this as the newest commit in https://github.com/ChuanqiXu9/root/commits/chuanqi_pr83233/

Since we need access the protect member in findSpecializationLocally
@phsft-bot
Copy link
Collaborator

Starting build on ROOT-performance-centos8-multicore/soversion, ROOT-ubuntu2204/nortcxxmod, ROOT-ubuntu2004/python3, mac12arm/cxx20, windows10/default
How to customize builds

@phsft-bot
Copy link
Collaborator

Build failed on windows10/default.
Running on null:C:\build\workspace\root-pullrequests-build
See console output.

Failing tests:

@vgvassilev
Copy link
Member Author

vgvassilev commented Mar 6, 2024

@ChuanqiXu9, this looks good on our side. Performance is also within the same ballpark. If I run /usr/bin/time -v root.exe -l -b -q tutorials/hsimple.C I get:

master this pr this PR w/o ChuanqiXu9@2467fe7
user time: 0.53s 0.50s 0.49s
rss: 309436 310196 310192

It is surprising that we lose 1MB somewhere between D41416 and your changes...

@smuzaffar, can you test this PR against cmssw?

@ChuanqiXu9
Copy link
Contributor

@ChuanqiXu9, this looks good on our side. Performance is also within the same ballpark.

Great! I'll try to invite Google to test for it.

If I run /usr/bin/time -v root.exe -l -b -q tutorials/hsimple.C I get:

master this pr this PR w/o ChuanqiXu9@2467fe7
user time: 0.53s 0.50s 0.49s
rss: 309436 310196 310192
It is surprising that we lose 1MB somewhere between D41416 and your changes...

It looks like it is slightly faster (I know it is not accurate). The size overhead may comes from the hash table I guess. Time/Space trade offs. I guess it makes sense in the high level in some degree.

@smuzaffar, can you test this PR against cmssw?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clean build Ask CI to do non-incremental build on PR in:Cling
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants