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

Performance degradation with ROOT 20.04 & 22.6 #6

Closed
janmayer opened this issue May 4, 2020 · 3 comments
Closed

Performance degradation with ROOT 20.04 & 22.6 #6

janmayer opened this issue May 4, 2020 · 3 comments

Comments

@janmayer
Copy link
Owner

janmayer commented May 4, 2020

With ROOT 20.04, the performance of the GUI window is slow, especially over ssh.

Workaround: Use ROOT 18.04.
This requires
include(${ROOT_DIR}/modules/RootNewMacros.cmake)
instead of
include(${ROOT_DIR}/RootMacros.cmake)
in the three CMakeLists.

@janmayer janmayer changed the title Performance degradation with ROOT 20.04 Performance degradation with ROOT 20.04 & 22.2 Dec 4, 2020
@janmayer
Copy link
Owner Author

janmayer commented Dec 4, 2020

The problem persists in ROOT 6.22.6

@janmayer janmayer changed the title Performance degradation with ROOT 20.04 & 22.2 Performance degradation with ROOT 20.04 & 22.6 Dec 4, 2020
@janmayer
Copy link
Owner Author

janmayer commented Dec 6, 2020

I think I have identified the commit in ROOT that causes the issue.

Procedure: I started with the knowledge that 6.18.04 was working and 6.20.00 was not. Unfortunately, the branch v6-18-00-patches and the associated tags are not properly connected to the 6.20. branch. However, through some trial and error I found that tag v6-19-01 was good and v6-19-02 was bad. (Both versions are unreleased.)

Through bisecting I found:

git bisect start
git checkout v6-19-01
git bisect good
git checkout v6-19-02
git bisect bad
f15b9502503786c79236f860d16d36e6351f5b1d -> bad
36c9ed2d7c37102ed8791d0c139e8852e98e84bf -> bad
805d118461d18d3a9fa0285099ccf3d197101c7b -> bad
93312a27e24049d9717071e2df7f355b5299915f -> good
340d6aa621557aa0a5ae7878f0440db8435827c6 -> good
1b0fd63245a614fe9ff9ee228b7be8e84cc14100 -> good
9132e16fab9fe680658c1438d6ff98358dda9b76 -> bad
42ef9790c9d90394880dd60425700e92c56292cf -> good
75161283352217c156c435ba8bac870cd5a125fb -> bad
5e87e28b84c0ecc2d41bfc8d01f844312c0c1809 -> good
01bd9140ec9a9abc5f28acf0a64cf77c975c9408 -> good

75161283352217c156c435ba8bac870cd5a125fb is the first bad commit
commit 75161283352217c156c435ba8bac870cd5a125fb
Author: Bertrand Bellenot <[email protected]>
Date:   Mon Jun 24 13:22:25 2019 +0200

    Set `X11.UseXft` to `yes` by default

I.e. this miniscule change seems to have caused the performance degradation. A fix for that should be possible to find on our side.

Note that while bisecting, I ended up with this compile script to avoid strange errors and reduce compilation time. Full recompilation every time to avoid other strange errors.

rm -rf install
rm -rf build
mkdir build
cd build

cmake /scratch/jmayer/root \
        -DCMAKE_INSTALL_PREFIX=/scratch/jmayer/install \
        -Dcxx11=ON \
        -Dpython=ON \
        -DPYTHON_EXECUTABLE=/opt/rh/rh-python38/root/usr/bin/python \
        -DCMAKE_BUILD_TYPE=Debug \
        -Ddavix=OFF \
        -Dbuiltin_davix=OFF \
        -DLLVM_TARGETS_TO_BUILD="host;NVPTX" \
        -Dtvma=OFF \
        -Droofit=OFF \
        -Dxrootd=OFF \
        -Dclad=OFF \
        -Dcudnn=OFF \
        -Ddataframe=OFF \
        -Dgdml=OFF \
        -Dgfal=OFF \
        -Dmlp=OFF \
        -Doracle=OFF \
        -Dpgsql=OFF \
        -Dpythia6=OFF \
        -Dpythia8=OFF \
        -Dsqlite=OFF \
        -Dvdt=OFF \
        -Dbuiltin_glew=ON
nice make -j30
nice make install -j30

It might be an idea to find the minimal ROOT build configuration in order to run hdtv.

@janmayer
Copy link
Owner Author

janmayer commented Dec 6, 2020

Solution is ROOT.gEnv.SetValue("X11.UseXft", 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

No branches or pull requests

1 participant