17 ms·
Running IntelliJ Idea with JDK 17 for Better Render Performance with Metal
- dijit 5y agoJDK17 also supports wayland natively, one of the major blockers of having a good experience on wayland is waiting for the upgrade to JDK17. https://youtrack.jetbrains.com/issue/JBR-1315 https://youtrack.jetbrains.com/issue/JBR-1315
- kevinherron 5y agoYou sure about that? The existence of this project suggests otherwise: https://wiki.openjdk.java.net/display/wakefield/OpenJDK+Project+Wakefield+-+Wayland+desktop+support+for+JDK+on+Linux https://wiki.openjdk.java.net/display/wakefield/OpenJDK+Proj... AFAIK it’s all still running on XWayland.
- samus 5y agoJDK 17 does not support Wayland natively. [Project Wakefield](https://wiki.openjdk.java.net/display/wakefield/OpenJDK+Project+Wakefield+-+Wayland+desktop+support+for+JDK+on+Linux https://wiki.openjdk.java.net/display/wakefield/OpenJDK+Proj...) aims to resolve that. So far, Java GUI applications only support connecting to an XWayland server when on Wayland. This is also stated in the bug you linked.
- dijit 5y agoThat’s extremely unfortunate and I’m not sure how I got that impression. I’m quite certain I read this because I spent significant amounts of time trying to get IntelliJ to run on EA versions of JDK… but evidently I’m wrong as it even mentions as such in the link I pasted. :/
- samus 5y agoThe sad thing is, there are no big technical hurdles to get like 95% of the things to run. What's unclear is how to take screenshots, how to control the mouse pointer and the mouse buttons and how to do input. These are quite far-reaching features that Wayland by design restricts for most applications.
- floatboth 5y agoI wouldn't want an IDE to ever warp my fucking mouse pointer!
- xvilka 5y agoSee also this[1] ussue to track the progress. There are problems even with XWayland, e.g. on HiDPI setups. There's a work-in-progress solution [2]. If you are willing to patch the software and build from sources it will help. [1] https://youtrack.jetbrains.com/issue/JBR-3206 https://youtrack.jetbrains.com/issue/JBR-3206 [2] https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/733 https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests...
- jaytaylor 5y agoI wonder: Would the JDK17 GraalVM offer additional benefits?
- kaba0 5y agoDo you mean the Graal JIT compiler or AOT compiling? The former may at times be better at escape analysis, but I don’t think there would be a significant difference. Using an up-to-date GC implementation is already night-and-day (I use G1GC with slightly decreased target pause time and larger heap size. But ZGC would be probably the best for this use case) I’m not sure whether Intellij could be AOT compiled, would be interesting due to faster startup time but AOT compiled binaries can be somewhat slower than what the JIT compiler is capable of.
- AnthonBerg 5y agoZGC is very good for IntelliJ. It’s fast. ZGC can be enabled on all platforms as of Java 17 and maybe even earlier. I won’t use any other Java GC for any reason I can think of.
- gjvc 5y agoZGC is available from JDK16, but is not compatible with AOTC, annoyingly, and the latter has been removed from JDK17. I have found that using AOTC for the java.base module makes IDE startup much smoother.
- AnthonBerg 5y agoAh, interesting. Thanks. If useful: ZGC has actually been available on different platforms in earlier Java releases. Linux, Windows, and macOS didn’t all get ZGC at the same time.
- vips7L 5y agoUnless they would use Graal Enterprise I doubt AOT would perform better anyway. Graal Community uses the Serial GC for native image. Enterprise uses G1
- deleted 5y ago[deleted]
- ilovecaching 5y agoIt amazes me that people put up with the gigabytes of RAM and full cores it takes to use Jetbrains products when VSCode/Vim/emacs can do 99% of what Jetbrains IDEs can do with LSP at a fraction of the power consumed. I guess fleet is Jetbrains acknowledging this shortcoming, but paying for current products that are marginally better than free and open source seems crazy to me.
- pjmlp 5y agoAre you aware that VSCode support for Java is actually based on running Eclipse headless? Fleet does the same thing as well.
- mroche 5y ago> Fleet does the same thing as well. Did you get in to the early access group? I'd be curious what your thoughts have been so far if so!
- kaba0 5y agoI am inside and it is.. not that interesting to be honest. Not bad, but it is pretty much a cleared up intellij with much less functionality and an eclipse-like left pane where you can have non-project folders as well. Regarding the much less functionality, the run button is not really configurable by much so more complicated projects can’t really be worked on yet. But I’ve just updated the package so I’m talking about a somewhat dated version.
- pjmlp 5y agoOnly watched the videos about it, I am an Eclipse/Netbeans user for Java tooling.
- denimnerd42 5y agojetbrains works for me in a way those others do not. vim and emacs are non starters. vscode is plugin hell. jetbrains just works out of the box.
- kelp 5y agoDumb question here. Why is this necessary? Does Jetbrains not include their latest Jetbrain Runtime release in their IDE builds? Or maybe Jetbrains Runtime releases run a bit ahead of what gets bundled in with the various Jetbrains IDEs?
- aPoCoMiLogin 5y agoJetbrains includes JBR11 by default.
- jillesvangurp 5y agoFor now, Java 17 has only been out for a few months. They'll likely switch with their next major release. 17 and 11 were both LTS releases. I've used Intellij for quite some time and there has always been quite a bit of magical thinking surrounding the performance topic that stems from a poor understanding of how things work, broken assumptions about how things should work, and so on. Intellij has lots of performance baggage. And addressing this and overstating the effects of mitigations is a long standing tradition in release notes. Despite numerous supposed fixes and improvements to the IDE, compiler, etc. even in just the last year, I still find myself waiting for it to do whatever for minutes on end every day. A half minute recompile after a 1 character code change. Rendering, garbage collection, and other things people like to point at are not even close to being a root cause for this. The real cause is that it simply does a lot of work and moves around a lot of data. The edge cases where that just requires noticeably slow re-computation happen a lot and when they do, things get slow.
- bmc7505 5y agoIt is recommended to use the currently bundled JBR version (JDK 11). Although later versions are available for testing, they are less stable as the author of this blog post mentions at the end.
- gjvc 5y agoJetBrains' attitude to this has been horrendous. Try running their products on a more recent JVM. They are actually usable and don't leave you feeling like you've been thinking in molasses. Ironic for a company called "jet" brains. They (JetBrains) have been actively fucking a portion of their (one would think, technically savvy) customers by not giving them the most responsive system they can to run, then acting all paternalistic and gaslighty by saying "oh we don't recommend you use anything other than the one we ship." [1] when people complain. Listen, JetBrains: I have wasted enough time (while my thoughts race ahead trying to work on my projects) sat on my phatass 64Gb NVMe-equipped Xeon, nvidia (native driver) Debian workstation waiting for pycharm et al to mooch along like at a stately pace redrawing the screen like it's a 1994 486 with an HDD. In the end my thoughts stopped racing and I began to think, yeah, well, I just gotta endure it... and then asking myself if I'm alone in this particular slow-motion hell-hole or is the world really like this?! Once I had got to the bottom of it (notes here https://iam.georgecox.com/2021/11/24/making-jetbrains-ides-run-faster/ https://iam.georgecox.com/2021/11/24/making-jetbrains-ides-r...) I _instantly_ began to regain the feeling of fluidity of thought in my work. It was the biggest single productivity gain I've made in the past year, and I have had zero stability problems. Some debugging features are not available, but I haven't missed them. At this point JetBrains would do well to take a leaf out of Apple's playbook from 2009 when they shipped the Snow Leopard release (Yes I am one of those that thinks that Snow Leopard was the best release of Mac OS X...) which concentrated solely on quality and speed, and no new features. [2] Thank you for your attention. Merry Christmas ;-) [1] a fact which gets parroted around various fora without any understanding of the problem because "it works on their computer" It seems that much of the improvements are for the benefit of MacOS X users, while the policy of sticking with a version 11 JDK is to the detriment of users on other platforms. [2] quality and speed are features, too!
- aPoCoMiLogin 5y agoIf anyone is interested why this is even a thing, you can see here [0] how every change in the IDE repaints whole window, thus eats CPU like mad. On the MacOS with external 4k+ monitor, this really tanks even macpro, like there is no GPU acceleration at all and everything is rendered by the CPU. [0] - https://photos.app.goo.gl/fsxgEHXCsTzKL37w7 https://photos.app.goo.gl/fsxgEHXCsTzKL37w7
- cutler 5y agoHonestly, Jetbrains tout their flagship product - IntelliJ - as this top-of-the-range Java/Kotlin IDE yet they can't ship a stable product to save their lives. From constant indexing to foobared filesystem access lockups no other ide/editor I've ever used requires as much fixing, patching and monitoring for excessive resource usage.
- oneepic 5y agoHow does excessive resource usage mean their product is unstable? It's a pity if the performance is bad, but I would think stable means there are little to no major breaking bugs that get in the way, and if they do an IDE restart usually fixes things.
- bob778 5y agoThey literally broke all plug-ins for months because of a regression in stripping white space from config files. The whole product is incredibly poorly tested and is only dominant because it’s the least terrible.
- d3nj4l 5y agoFwiw, I tried this w/ RubyMine 2021.3.1 RC and the menu bar items stopped working. None of them display anything now, which is quite annoying, but nor really a dealbreaker because you can Cmd + Shift + A to do anything.
- keyle 5y agoIf you use a HDPI screen, e.g. retina, external 4-5K screen, just turn off anti-aliasing in the IDE options. It renders a ton faster and you won't see the difference, because you need anti-aliasing when 1px=1px, you don't when it's subpixel anyway.
- jiggawatts 5y agoThat's not how anti-aliasing works! Essentially all digital screens benefit from anti-aliasing, irrespective of the resolution. Even if you had a screen with an absurdly high resolution, such as 38,400 × 21,600 ("40K"), without anti-aliasing you'd still get issues like moire patterns and shimmering when viewing highly detailed content with regular patterns. However, past a certain point, the benefits are less noticeable, whereas the overheads of AA increase to absurd levels. Trying to super-sample an 8K game will still bring the best GPUs in the world to their knees.