Hello,
first of all congrats for switching to this new Ide, very appreciate.
What I have found after few minutes of use is the incredible amount of battery power used by the Ide, even when writing only comments. This is not laptop friendly.
I understand (other Ide's does the same) that it should speed up compiling, but I suggest to let the user choose a kind of ... Power saving from the Ide settings. This will help save energy and keep quieter the cooler fan on laptops.
In linux it uses 0% CPU most of the time when I do nothing.
When I type a comment, then it uses more CPU power. I can easily get it above 50% (that is 50% for a single core, the other cores stay at 0%).
I think it is the auto-completion in the background, or something else that is checking what is typed.
Arduino IDE 2.x uses the Arduino Language Server to provides the new code completion, "Go to Definition", "problems", and other similar "smart" features. The Arduino language server is essentially a translation layer between the IDE and the industry standard clang C++ language server. It must convert the sketch into standard C++ by doing the sketch preprocessing (e.g., function prototype generation) and library dependency resolution before passing it to clang, then it must adjust the clang output back to the sketch code. This process of converting the sketch to something clang can work with is fairly processing intensive and must be redone when there are changes to the sketch. And of course clang itself must do some significant processing.
I think this system will inherently always result in a higher CPU usage than the equivalent passive editor would do. Perhaps there is still room for optimization of how it operates though.
Hi Pert,
I hope too in an optimization.
Some of the tasks you have listed should take into account when the device is running on battery or power supply and adapt cpu usage accordingly.