Let’s take a look at WSL handling code (in the platform because used by many JetBrains IDE).At first sight, we may think that WSL legacy is supported when we see the WSLDistributionLegacy class, because WSL legacy is actually supported by the IntelliJ platform (supported by some others JetBrains IDE, see this ticket). However, we can note that this features is experimental and requires a special config key to be activated, as we can see in this snippet of code (can be found here): // add legacy WSL if it's available and enabledIf (Experiments.isFeatureEnabled("wsl.legacy. Unfortunately, the support is now officially limited to Windows builds starting 1709, where Linux distributions can be directly installed from the Windows Store.It then has a number of settings to adjust. As far as I can tell the G1 collector is strongly indicated when you go above a 4 or 8GB heap. CLion is pretty great for that.I'm curious, have the VM garbage collection and allocation settings been adjusted? In other words, not just the memory limits but also switching to a different garbage collector and the GC control mechanisms adjusted? I've been reading up on the collectors. I googled statistics: 3+ million lines of code? Is that about right? (Not that LOC is a great universal metric of everything, but it's something.)For comparison: I work on something a magnitude smaller. Chromium seems to be huge indeed. NameVersionVotesPopularityMaintainergnomesearchprovidersjetbrains1.7.1100.00lunaryornjdk8jetbrains8.252b1649.5110.00orphanjdk8openjdkjetbrains8.u252.b1649.2480.00orphanView 47 more rowsPart of the source code of CLion is public: the IntelliJ platform (all JetBrains IDE shares a common source-code part which uses to be foundations of IntelliJ).
![]() ![]() What you think is hairy might not be that hairy, in terms of parsing, to a compiler or static analyzer. I'm sure it's possible.) The JVM and the GC are a rather interesting beast.I don't think I'm making an extraordinary statement.If you look in their bug tracker, there are 500+ tickets with the term "freeze" in it.The reason is actually known: being a Java IDE, the design takes for granted that many operations that are almost instant in the Java world can takes many seconds in the C++ world (meaning they'd need to put that in the background instead of blocking the GUI).Obviously there are (many) reasons for that. (I didn't reconfigure to rein it back in as it was unnecessary in that context. Had to switch Pycharm back to a more, uh, classical GC setup. Bach sheet music free musicBut no one can deny the many performance issues, and indeed the focus of the next major release is precisely to start addressing those. I'm not bashing the tool I'm a paying user too. It might not affect someone's homework, but in my case it definitely does have performance issues for my relatively small one-man projects.
0 Comments
Leave a Reply. |
AuthorKaren ArchivesCategories |