root icon indicating copy to clipboard operation
root copied to clipboard

Minor improvements to CLING_PROFILE and CLING_DEBUG

Open amadio opened this issue 3 years ago • 10 comments

This PR fixes #10870.

amadio avatar Jul 04 '22 12:07 amadio

Starting build on ROOT-debian10-i386/soversion, ROOT-performance-centos8-multicore/cxx17, ROOT-ubuntu18.04/nortcxxmod, ROOT-ubuntu2004/python3, mac1015/cxx17, mac11/cxx14, windows10/cxx14 How to customize builds

phsft-bot avatar Jul 04 '22 12:07 phsft-bot

Build failed on ROOT-performance-centos8-multicore/cxx17. Running on olbdw-01.cern.ch:/data/sftnight/workspace/root-pullrequests-build See console output.

Failing tests:

phsft-bot avatar Jul 04 '22 12:07 phsft-bot

There is a suspicious failure, this assertion is triggered by the failing test:

root.exe: /data/sftnight/workspace/root-pullrequests-build/root/interpreter/llvm/src/include/llvm/ExecutionEngine/Orc/SymbolStringPool.h:146: llvm::orc::SymbolStringPool::~SymbolStringPool(): Assertion `Pool.empty() && "Dangling references at pool destruction time"' failed.

I cannot judge if this could be related to the fix in LLVM or not. @Axel-Naumann and @vgvassilev, please advise. Should I drop that change?

amadio avatar Jul 04 '22 15:07 amadio

@bellenot Could the Windows failures have any relation to my changes? I think the permission errors could be a problem with the node itself, maybe?

amadio avatar Jul 05 '22 08:07 amadio

@phsft-bot build please

eguiraud avatar Aug 03 '22 16:08 eguiraud

Starting build on ROOT-debian10-i386/soversion, ROOT-performance-centos8-multicore/cxx17, ROOT-ubuntu18.04/nortcxxmod, ROOT-ubuntu2004/python3, mac1015/cxx17, mac11/cxx14, windows10/cxx14 How to customize builds

phsft-bot avatar Aug 03 '22 16:08 phsft-bot

Thank you @amadio , indeed we need Axel or Vasil's approval to merge (ping :) ).

IIUC this PR does not solve the last item in 10870, "investigate the runtime and memory cost of CLING_DEBUG=1, consider having it on by default in some cases, e.g. for interactive usage". Again up to cling devs to decide if it's worth opening a separate issue for that or we are happy with the current situation for now.

eguiraud avatar Aug 03 '22 16:08 eguiraud

Build failed on ROOT-performance-centos8-multicore/cxx17. Running on olbdw-01.cern.ch:/data/sftnight/workspace/root-pullrequests-build See console output.

Failing tests:

phsft-bot avatar Aug 03 '22 16:08 phsft-bot

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

Failing tests:

phsft-bot avatar Aug 03 '22 17:08 phsft-bot

Starting build on ROOT-debian10-i386/soversion, ROOT-performance-centos8-multicore/cxx17, ROOT-ubuntu18.04/nortcxxmod, ROOT-ubuntu2004/python3, mac1015/cxx17, mac11/cxx14, windows10/cxx14 How to customize builds

phsft-bot avatar Nov 01 '22 10:11 phsft-bot

Starting build on ROOT-debian10-i386/soversion, ROOT-performance-centos8-multicore/cxx17, ROOT-ubuntu18.04/nortcxxmod, ROOT-ubuntu2004/python3, mac1015/cxx17, mac11/cxx14, windows10/cxx14 How to customize builds

phsft-bot avatar Nov 01 '22 10:11 phsft-bot

Thank you @amadio , indeed we need Axel or Vasil's approval to merge (ping :) ).

IIUC this PR does not solve the last item in 10870, "investigate the runtime and memory cost of CLING_DEBUG=1, consider having it on by default in some cases, e.g. for interactive usage". Again up to cling devs to decide if it's worth opening a separate issue for that or we are happy with the current situation for now.

As discussed in Mattermost, there is a significant cost at runtime when enabling CLING_PROFILE=1 and/or CLING_DEBUG=1, so it's best to enable it only when needed. For reference, times measured for df102_NanoAODDimuonAnalysis.py tutorial were about 30s with CLING_PROFILE disabled, and almost 50s with the feature enabled. Keeping the frame pointer is especially costly when short functions get called many times, and that's the case with most RDataFrame analyses.

@Axel-Naumann, @vgvassilev I'd like to merge this when the build passes. Please add your stamp of approval at your earliest convenience. Thanks!

Note: I dropped a commit that used limited debugging info when only profiling, because that actually causes ROOT to crash. Full debug info must be used for things to work.

amadio avatar Nov 01 '22 16:11 amadio

Starting build on ROOT-debian10-i386/soversion, ROOT-performance-centos8-multicore/cxx17, ROOT-ubuntu18.04/nortcxxmod, ROOT-ubuntu2004/python3, mac1015/cxx17, mac11/cxx14, windows10/cxx14 How to customize builds

phsft-bot avatar Nov 01 '22 16:11 phsft-bot

Please clang-format again...

amadio avatar Nov 01 '22 16:11 amadio

Starting build on ROOT-debian10-i386/soversion, ROOT-performance-centos8-multicore/cxx17, ROOT-ubuntu18.04/nortcxxmod, ROOT-ubuntu2004/python3, mac1015/cxx17, mac11/cxx14, windows10/cxx14 How to customize builds

phsft-bot avatar Nov 03 '22 16:11 phsft-bot

Starting build on ROOT-debian10-i386/soversion, ROOT-performance-centos8-multicore/cxx17, ROOT-ubuntu18.04/nortcxxmod, ROOT-ubuntu2004/python3, mac1015/cxx17, mac11/cxx14, windows10/cxx14 How to customize builds

phsft-bot avatar Nov 04 '22 09:11 phsft-bot

Starting build on ROOT-debian10-i386/soversion, ROOT-performance-centos8-multicore/cxx17, ROOT-ubuntu18.04/nortcxxmod, ROOT-ubuntu2004/python3, mac1015/cxx17, mac11/cxx14, windows10/cxx14 How to customize builds

phsft-bot avatar Nov 04 '22 09:11 phsft-bot

Got verbal approval from Axel as well, merging.

amadio avatar Nov 10 '22 08:11 amadio