-
Notifications
You must be signed in to change notification settings - Fork 180
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
JBR very slow compared to OpenJDK #84
Comments
@lamka02sk Thank you for the report. We will start an investigation asap and will let you know about the progress. Could you please go to PhpStorm main menu Help -> About and click on Copy button, and then share the result? |
Thank you for your response. Here is the output you requested with removed sensitive info. When I am on my main PC later today, I will post also config from PHPStorm 2021.2 here.
with default runtime enabled:
|
Sending info from PHPStorm 2021.2.2:
with default runtime enabled:
|
@bulenkov any update? |
@lamka02sk we're looking into this issue. |
Unrelated: It'd be nice if you benchmarked ZGC and shenandoah vs G1 on JDK 17, it might improve Intellij perceived performance |
@LifeIsStrange I wouldn't recommend ZGC - while it does have excellent GC performance, it uses way too much memory. On my 16GB laptop, it almost always causes excessive swapping due to memory exhaustion. |
I can confirm this finding. My use case is remote-developing game server (Minecraft) on Ubuntu 20.04.3 LTS (GNU/Linux 5.4.0-89-generic x86_64) from Windows 10 64bit with Eclipse (2021-12 RC1) as IDE in my case. Using OpenJDK (build 17+35-Ubuntu-120.04) there are some performance-reductions compared to no debugging. The performance is 'ok' before any code-change was done. It drops specifically after a code-change. @Ristovski Depends a lot on the use case. For memory-agressive programs like a Minecraft-Server ZGC is amazing. Before I was running G1 specifically with flags (like G1HeapWastePercent) to allow higher wasted memory percent as it reduces CPU-Load from GC. |
As far as dcevm-17, are you running it with |
Hey, I tried it again (params: -XX:+AllowEnhancedClassRedefinition -Xmx6G -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions --enable-preview -server -agentlib:jdwp [...]) After a code-change the performance was maybe at 5-10% from before. This unfortunately did not change significantly after repeating the tasks for about 5-10 Minutes. |
This is a workaround I found for slowdowns: I have a similar issue with UI freezing with JBR that isn't present with openjdk. Using After disabling the font-config code path in System Info
Technical DetailsThis what's in the console log when I change font size or open a new UI element such as menu or settings with envvar OPENJDK_FFS_LOG_FC=yes.
Snippet from async profile.
To me, it seems that openjdk code path has a caching mechanism for fonts that JBR does not. |
Thanks for the findings, we'll look into it |
Any update on this? Using Thanks! |
i can confirm that this problem exists with JBR 17 with Intellij 2020.3 on Windows 10. I tried using temurin and JBR 17 and the difference is night and day. |
I don't want to offend anyone, but I don't get it why creating yet another JAVA package when it was already stated in more than 20 YouTrack issues that OpenJDK works better than the bundled one (fonts are rendered properly on OpenJDK, performance....). |
yeah if they have improvements they should upstream them, this issue show the danger of forking, they don't have enough human resources allocated/bug report feedback to properly assume the performances risks of said fork. |
@fatihdogmus Could you provide some more details about your problems with JBR17 on Windows. What JBR17 builds did you use? What is your configuration? |
@osialr could you try the latest products - I see no difference in startup between OpenJDK and JBR on my linux desktop (AMD® Ryzen 9 5950x 16-core processor × 32, AMD® Radeon rx 6800 xt, RAM 62.7 GiB) |
@avu Yes still having stuttering/UI freezes in 2022.1. It's most noticeable when changing font size in editor, opening menus, or scrolling. I have been documenting the problem in IDEA-287246. It has a video included visible to the I have tracked it down to These are example steps for docker. Host OS is Ubuntu 20.04.4 LTS and Docker version 20.10.12, build e91ed5707e. In this part, UI runs fast:
Now install libreoffice and kubuntu-desktop. This takes about 20 minutes to run. Or repeat steps 1-5 after building this Dockerfile.txt |
On my laptop with ubuntu + cinnamon, I had about 2600 fonts installed. I tried removing libreoffice along with fonts mentioned here which removed ~300 fonts. The biggest package that made a difference was |
@osialr thanks for the investigation and the pull request I'll review it. BTW, have you signed our CLA https://www.jetbrains.com/agreements/cla/ ? |
@avu I tried out ideaIC with the last night's JBR build on my laptops and the docker image. In all of them, the UI pauses that I had are essentially gone. Switching back to bundled JBR brought back the UI pauses. So at least for me, the PR did it's job. Used jbr_jcef-11_0_15-linux-x64-b2043.56.tar.gz from Release 11_0_15-b2043.56 |
Good news @osialr, thanks for letting us know! |
Hi, I was reporting this issue already in YouTrack, and mentioning this multiple times, but nobody cares :(
The JBR on Linux is extremely slow compared to OpenJDK. About twice as slow. The problem is, OpenJDK doesn't really work well with 2021.2 IDEs, so I had to downgrade and I will be probably stuck on versions 2021.1 forever since this issue with JBR has not been adressed for over a year now.
I will gladly sent you any information or do any testing to help you finally fix this issue.
For benchmark, I locked my CPU to static frequency (1.4GHz on all cores) and did this small benchmark:
OpenJDK 11 - PHPStorm startup with medium project: 23 seconds (stopped when code editor and file tree loaded)
JBR bundled with 2021.1 - PHPStorm startup of the same project: 45 seconds
All of my devices have this problem and all are running Linux (Kubuntu 21.04, Ubuntu 20.04 LTS KDE Neon and Ubuntu 18.04 LTS KDE Neon)
Thank you for your help
System info:
The text was updated successfully, but these errors were encountered: