This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 268372 - Performance improvements
Summary: Performance improvements
Status: NEW
Alias: None
Product: ide
Classification: Unclassified
Component: Performance (show other bugs)
Version: Dev
Hardware: PC Other
: P3 normal (vote)
Assignee: Tomas Hurka
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-10-06 08:58 UTC by Christian Lenz
Modified: 2016-10-17 07:25 UTC (History)
0 users

See Also:
Issue Type: ENHANCEMENT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Lenz 2016-10-06 08:58:48 UTC
NetBeans is good and in some cases (First installation, zero plugins, not so much projects, etc.) it is fast. Maybe as fast as Sublime but I don't know. 

But the real world cases are, you have a lot of projects from different languages opened in netbeans, you use netbeans everyday and you have a lot of plugins (For me round about 151, some are default, because they are needed some are not default but needed). And sure, it is normal, that plugins can slow down as we can see in firefox. A fresh clean installation without plugins, is firefox fast, not as fast as chrome but good enough. With more than a few plugins like firebug or other tools, it slows down firefox start extremely. So what is possible to do there? Maybe first, we can have a profiler to check which plugin loads while netbeans starts to analyse what happens there and is it really needed. So a plugin profiler or a netbeans startup profiler would be great. But this is not the main topic of this ticket.

When I got some code from someone and I want to check the source, html, java, css, js whatever, I open the file with Sublime or more often the last days, with Visual Studio code, because it is extremely fast. Round about 3s and VS Code is open and until 5s I can work. I know that VS Code is not as full featured like NetBeans but I don't want to use NetBeans to open a file to check the source, because it needs 30s or more to open NetBeans, open the projects init them etc. and this is not acceptable for me. Of course when I have open NetBeans, I open the file right inside netbeans, if not, than I use an other tool but I really want to use NetBeans too, but not in that mood if it tooks to long to open a file.

So back to the init problem, it would be nice to speed up the start of netbeans maybe for files to open with netbeans and in general.

Today I saw an article from Microsoft about the performance of the New Visual Studio 15. Please see here the notes, they made it public, maybe some intersting things are in to help NetBeans too.


Notes to make Visual Studio 15 faster:

The faster load time is a result of a couple of the improvements we’ve made – lightweight project load and on-demand loading of extensions.

Here are some of the key performance gains in Preview 5:
◦Shorter solution load time with lightweight project load: Working on solutions that contain upwards of 100 projects doesn’t mean you need to work with all the files or projects at a given time. VS “15” provides editing and debugging functionality without waiting for Visual Studio to load every project. You can try out this capability with managed projects in Preview 5 by turning on “Lightweight Solution Load” from Tools -> Options -> Projects and Solutions.

◦Faster startup with on-demand loading of extensions: The idea is simple: load extensions when they’re needed, rather than when VS starts. In Preview 5 we started this effort by moving our Python and Xamarin extensions to load on demand and are working on moving all extensions we ship with Visual Studio and extensions shipped by third party extension vendors to this model. Curious about which extensions impact startup, solution load, and typing performance? You can see this information in Help -> Manage Visual Studio Performance. Do you develop an extension? We will be publishing guidance to help extension developers move to on-demand loading.

◦Moving subsystems from the main VS process to separatel processes: We moved some memory-intensive tasks such as Git Source Control, and our JavaScript and TypeScript language services to separate processes. This makes it less likely for you to experience delays caused by code running in the main Visual Studio process, or Visual Studio becoming sluggish and even crashing as the main process approaches the 4GB memory limit of 32-bit processes. We will continue to move components out-of-process in coming releases.

◦Faster project load, coding, and debugging for C++: We have made loading C++ projects faster. Check out this video showing the improvement. You can enable this by setting “Enable Faster Project Load” to True from Tools -> Options -> Text Editor -> C/C++ -> Experimental. We have also made improvements to our linker and PDB loading libraries to make incremental builds and launching the debugger much faster while significantly reducing memory consumption while debugging.

◦Improved speed of Git source control operations by using git.exe: We have improved debugging performance by optimizing initialization and other costs related to IntelliTrace and the Diagnostic Tools window, and removed several delays that occur when editing and switching between XAML files.

This is just the start and we are dedicated to making improvements like these to make Visual Studio start faster, be more responsive, and use less memory. Keep an eye out for more posts on the Visual Studio blog over the coming days where we’ll go deep into the technical details behind these improvements.

We rigorously test these changes to anticipate issues and deliver the best performance but there is no substitute for real world code. We need your help! So please install Preview 5, try it out with your large solutions, and tell us what you think by using the Report-a-problem tool within the IDE.
Comment 1 Christian Lenz 2016-10-06 08:59:14 UTC
I know a lot of text but I think there is some work todo to make NetBeans faster.
Comment 2 Christian Lenz 2016-10-07 09:50:32 UTC
Visual Studio 15 Preview 5 has such analyse tool for extensions. Click on Help -> Manage Visual Studio Performance. Then you can see which plugin loads on startup and maybe other information (Didn't install a plugin yet) and you see which plugins loads on projectmap load.
Comment 3 Christian Lenz 2016-10-11 07:34:29 UTC
Here is a new blog post about the performance of Visual Studio 15 and the extension performance checker: https://blogs.msdn.microsoft.com/visualstudio/2016/10/10/faster-visual-studio-15-startup/
Comment 4 Christian Lenz 2016-10-12 07:39:50 UTC
Here is the second blog post about performane of Visual Studio: https://blogs.msdn.microsoft.com/visualstudio/2016/10/11/shorter-solution-load-time-in-visual-studio-15/ (Shorter Solution load time)
Comment 5 Christian Lenz 2016-10-17 07:25:06 UTC
I think here is the last blog post about the performance improvements of VS 15 https://blogs.msdn.microsoft.com/visualstudio/2016/10/14/improved-overall-visual-studio-15-responsiveness/

not all is usable of course but they decided to use git.exe instead of libgit2. I think NetBeans uses JGit? Maybe someone should decided to change it too, in terms of more flexibility.