Skip to content

Conversation

@vepadulano
Copy link
Member

Now that the machinery of #14287 is available, we can begin the process of making constants in ROOT constexpr to get the benefit of a faster initialization. I began with TString::kNPOS and the ones in RTypesCore.h, but do let me know if you see other candidates for the same procedure.

@phsft-bot
Copy link

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

@vepadulano vepadulano requested review from dpiparo and hahnjo January 15, 2024 16:34
@github-actions
Copy link

github-actions bot commented Jan 16, 2024

Test Results

     9 files       9 suites   1d 20h 26m 35s ⏱️
 2 490 tests  2 490 ✅ 0 💤 0 ❌
21 378 runs  21 378 ✅ 0 💤 0 ❌

Results for commit 5a4c096.

♻️ This comment has been updated with latest results.

@vepadulano
Copy link
Member Author

@phsft-bot build

@phsft-bot
Copy link

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 Jan 16, 2024
@root-project root-project deleted a comment from phsft-bot Jan 16, 2024
@root-project root-project deleted a comment from phsft-bot Jan 16, 2024
@root-project root-project deleted a comment from phsft-bot Jan 16, 2024
This allows us to avoid generating symbols in libCore for these constants
keeping the same amount of open calls at ROOT startup time.
@vepadulano vepadulano force-pushed the make-const-constexpr branch from 2bd140a to 5a4c096 Compare January 16, 2024 12:55
@phsft-bot
Copy link

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

@vepadulano
Copy link
Member Author

For our reference, these are the usual sanity checks

$: strace -z -f -o openat.log -e trace=open,openat python3 -c 'import ROOT;print(ROOT.gErrorIgnoreLevel);print(ROOT.kError)'
-1
3000
$: grep openat openat.log | wc -l
406
$: nm -C $ROOTSYS/lib/*.so | grep TString::kNPOS | wc -l
0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants