IntelliJ IDEA 2022.3 EAP 2: Improved IntelliJ Profiler, Faster IDE Startup, and More
IntelliJ IDEA 2022.3 EAP 2 is now available, bringing some cool new features for you to test out! We’ve updated the IntelliJ Profiler, making snapshots more convenient to work with, boosted the IDE performance on startup, and more.
Take a look at this week’s most notable updates in this article. If you’re unfamiliar with the EAP program and how it works, we invite you to read this blog post.
New Collect native calls checkbox
In the latest EAP we’ve reworked the way native calls appear in snapshots. To reduce the number of calls and facilitate investigating the most common performance issues, native calls are not collected and excluded from the snapshot by default. If you still want to track native calls for the most complete possible picture of your application runtime, you can enable them in Settings / Preferences | Build, Execution, Deployment | Java Profiler.
Grouped calls in the Flame Graph
We’ve implemented a new functionality that groups sequences of calls that take the vast majority of their parent time and standard library method implementations (such as java.util, for example) and shows them as collapsed lists on the Flame Graph. This makes it easier to process the data and stay focused on the most likely targets for optimization – calls that require significant computational resources.
New option to exclude coverage annotations
IntelliJ IDEA 2022.3 lets you manage which annotations in your project will be used to exclude methods from coverage statistics. To notify the IDE about methods that you don’t want to test, first tag them with any annotation and then go to Settings / Preferences | Build, Execution, Deployment | Coverage and add the annotations to the Exclude annotations list.
Faster IDE startup and project opening
While we continuously strive to improve the IDE’s performance, for the upcoming 2022.3 version we’ve made special efforts to optimize the IDE startup experience.
As a result, we’ve made a number of notable performance improvements to speed up application launch and project opening.
By switching to coroutine-based APIs, we parallelized some of the processes that used to run sequentially. We’ve also managed to reduce eager class loading and save significant time on Intention Actions, Inspections, IElementType, IStubElementType constants, and other extensions that were previously loaded and instantiated without real need.
We’ve eliminated nearly all project components in bundled plugins, improving the overall performance at startup, including editor restoration, by around 30%.
New Kotlin K2 compiler for the JVM in Alpha
The Kotlin team has just announced the Kotlin 1.7.20 release, which updates the Alpha version of the new Kotlin K2 compiler. Performance improvements are the primary goal of this new compiler, and it has already shown impressive results in our internal projects.
Kotlin K2 Alpha only works with JVM projects. We encourage you to test it out on yours and share your experience with us. To enable it for your project, use the -Xuse-k2 option in your build file.
Feel free to send us your feedback by using any of these channels.
These are the key updates for week two! For the full list of changes, refer to the release notes.
We encourage you to try out the changes introduced in this build and share your feedback with us. If you have any questions or comments, use the comments section below or reach out to us on Twitter. If you find a bug while coding, please report it to our issue tracker.
Subscribe to Blog updates
Java Best Practices
Good code follows certain rules, and knowing them increases your chances of success. We’d like to share some Java best practices that will help you on your way. We'll cover the must-know tips and tricks, from broad advice on software development to Java- and project-specific know-how. Let's get star…
IntelliJ IDEA 2024.1 EAP 6: Improved Workflow for Logs, Inline Breakpoints, In-Editor Code Review, and MoreEarly Access Program
IntelliJ IDEA 2024.1 EAP 6 is here! This new build is packed with a bunch of updates anticipated for the next major release. Highlights include an enhanced user experience with logs, advanced debugging capabilities, and improved integration with version control systems. You can download the new v…
The New Terminal (Beta) Is Now in JetBrains IDEs
The new terminal (Beta) is now in JetBrains IDEs and will be available in the new UI starting from the 2024.1 version of the IDEs.
‘HelloWorld’ and ‘main()’ meet minimalistic
"Just ignore the terms class, public, static and arg for now; we'll talk about it later". If you have ever mentioned these lines to a new Java student, who is about to execute their first 'HelloWorld' program, know that this is changing. If you are that student, well, congratulations, getting starte…