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

[GTK4] Tree slower then GTK3 #1480

Open
Latha-Patil opened this issue Sep 20, 2024 · 6 comments
Open

[GTK4] Tree slower then GTK3 #1480

Latha-Patil opened this issue Sep 20, 2024 · 6 comments
Labels
gtk4 GTK4 issues performance Performance issue

Comments

@Latha-Patil
Copy link

Latha-Patil commented Sep 20, 2024

Describe the bug
The testcases under package org.eclipse.swt.tests.junit.performance are taking longer to execute.

Testcase : Test_org_eclipse_swt_widgets_Tree.java
this testcase takes around 700 seconds on Windows SWT where as it takes around 6000 seconds on Linux SWT / Sometimes does not respond (May be because I am using VM)

Testcase : BenchmarkSwtMultithreading.java
This testcase is also having timing differences when executed in windows and Linux.

Testcase : Test_situational.java
Not running

To Reproduce
Setup SWT workspace in Linux and run above testcases .

Expected behavior
Performance can be improved

Screenshots
If applicable, add screenshots to help explain your problem.

Environment:

  1. Select the platform(s) on which the behavior is seen:
    • All OS
    • Windows
    • Linux
    • macOS
  1. Additional OS info (e.g. OS version, Linux Desktop, etc)
    Ubuntu 22.04.4 LTS (VM on Windows)

** Additional context**
Identified GTK APIs (Deprecated since 4.10) causing the delay for testcase Test_org_eclipse_swt_widgets_Tree are
https://docs.gtk.org/gtk4/method.TreeModel.get_path.html
https://docs.gtk.org/gtk4/method.TreeStore.set.html

GTK4_LINUX_1

GTK4_Linux_2

GTK4_Linux_3

#228

@jukzi jukzi added the performance Performance issue label Sep 20, 2024
@jukzi
Copy link
Contributor

jukzi commented Sep 20, 2024

"longer" then what? before? windows? an apple? do you plan to contribute improvements?

@HeikoKlare
Copy link
Contributor

If I am not mistaken, this is a GTK4 issue (correct me, if I am wrong @Latha-Patil). So execution times are longer than on GTK3. This issue is supposed to be a hint for the GTK4 port implementation (#228) that there might be performance problems / necessity to use different APIs. It is not related to productively used SWT on GTK.

@HeikoKlare HeikoKlare changed the title [GTK] Performance testcases taking longer to execute [GTK4] Performance testcases taking longer to execute Sep 20, 2024
@HeikoKlare HeikoKlare added the gtk4 GTK4 issues label Sep 20, 2024
@jukzi jukzi changed the title [GTK4] Performance testcases taking longer to execute [GTK4] Tree slower then GTK3 Sep 20, 2024
@lathapatil
Copy link
Contributor

lathapatil commented Sep 23, 2024

I created the issue with different account by mistake.
@HeikoKlare ,
When run with GTK3, the test case Test_org_eclipse_swt_widgets_Tree.java takes around 5753 seconds to complete, whereas with GTK4, the test case becomes unresponsive.

GTK3_linux_JunitTest

GTK4_Linux_JunitTest

I suspect that replacing the deprecated APIs related to the tree widget (Deprecated since 4.10) might help resolve the performance issue observed in this test case.

The same test case executed in Windows SWT (which uses Win32 APIs) takes significantly less time, around 700 seconds.

@lathapatil
Copy link
Contributor

"longer" then what? before? windows? an apple? do you plan to contribute improvements?

Longer than Windows SWT and behavior with GTK3 and GTK4 are described here.

I would like to further check on this but not soon.

@HeikoKlare
Copy link
Contributor

Thank you for the additional information! So it seems like even on GTK3 the performance is worse (than on Win32). This is probably partly due to the environment (in particular using a VM). But I would keep the issue specific to GTK4 for now, as I so not see any regression with respect to GTK3 that would require a timely fix.

@basilevs
Copy link
Contributor

basilevs commented Oct 5, 2024

Tree is just slow on any GTK this is a duplicate of #882 . These tests demonstrate quadratic complexity of Tree population on Linux in standard scenarios.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
gtk4 GTK4 issues performance Performance issue
Projects
None yet
Development

No branches or pull requests

5 participants