I use arduino occasionally and have come back to it after some months. I thought I would install the latest IDE 1.6.9 but I was very disappointed by the performance - application is slow to start and takes forever to compile even simple sketches.
I then tried the arduino.org IDE 1.7.10 and although it was better it was also very slow at loading and at compiling.
I then reverted back to an old modified version (by Erwin Reid I think) ERW 1.0.5 and it is considerably faster.
I know that "very slow" "forever" is not very helpful so here are some numbers:
IDE Initial Compile Re-compile no changes
1.6.9 78s 54s
1.7.10 61s 37s
ERW 1.0.5 18s 9s
The sketch is an example from the FastLED library - about 30 line of code
I am using a fairly old single core PC, and for each test AV was disabled as I know this can cause issues.
Considering that the compiler is essentially the same why such a large difference in compile times?
This is hardly what I would call progress.
As I said, I am aware of the difference between arduno.cc and arduino.org.
Please read my posts carefully, and if you like disregard any thing mentioned about arduino.org.
I am trying to get to the bottom of why the latest arduino.cc IDE is so much slower.
PaulM:
As I said, I am aware of the difference between arduno.cc and arduino.org.
Please read my posts carefully, and if you like disregard any thing mentioned about arduino.org.
I am trying to get to the bottom of why the latest arduino.cc IDE is so much slower.
If you are aware, then why are you trying to use different IDE with your hardware? ? ?
You are comparing two different software meant for different hardware.
IDE 1.6.9 is the latest by Arduino.cc.
It performs very badly compared to the 1.0.5 version which is a much older Arduino.cc IDE
So are you telling me that an Arduino UNO from arduino.cc and one from arduino.org is different hardware?
I have both the official and chinese versions of the UNO and the compile times are the same for both - it is not the hardware but the IDE that is causing the problem
Qdeathstar:
I have no issue with 1.6.9. I know if you are using an esp8266 and the old esp core, it will recompile everything every time you upload.
Re-compiling everything was an issue in the past and on Windows if the IDE was installed to a path in which there were spaces, e.g 'Program Files' this would happen even with the fixed IDE.
The latest version does not re-compile everything - that was the first thing I checked. Re-compile is quicker but not by much.
I know I have an old machine, but 6 times slower - this can't be right!
sterretje:
You're taking that totally out of proportion. OP simply tried to compare; really, why can't people see that.
Thank you. It would also help if people would read what has been written.
PaulM:
Thank you. It would also help if people would read what has been written.
Pleasure; I really had to bite my tongue.
PaulM:
This is a genuine request for help.
I started with (and I'm still on) 1.6.6. You might have the option to compare compiler output. This is the first few lines for 1.6.6 (verbose output for compilation on in preferences).
Lines 3 to 7 are exactly the same, so it does something 5 times. There might be more repeats elsewhere.
I have been wanting to ask the question as to "why" but never got to it.
This was the simple test sketch
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("Hello world");
}
void loop() {
// put your main code here, to run repeatedly:
}
I'm leaving for the weekend now. I will try some earlier versions of the IDE but that wastes a lot of time and effort.
I will look at the verbose output more carefully and compare with yours.
I have tried various other 'after market' IDEs (PlatformIO, Eclipse, UECIDE) but they often do not install properly, are also slow or simply just do not work.
For what I do with the Arduino the official IDE is fine - well it was - now it is unusable!
Finally, I will add that although my PC is old and tired it will happily compile 20000 line .NET applications in less time than a 30 line arduino sketch - so it can be done.
I've also noticed that the IDE sometimes seems to perform significantly worse in terms of compile time than 1.0.6 did (that's the "good" 1.0.x version). Unfortunately, 1.0.6 is getting really old, and doesn't support a lot of great new features. Frankly, performance of the IDE does not appear to have been a priority for the Arduino.cc team. Startup time has gotten much longer too for me (1.6.5r5 vs 1.0.6). For that matter, considering recent release history (of 10 1.6.x releases, only 3 have been usable*), it would appear neither backwards compatibility nor basic functionality are priorities either, which begs the question of what is...
Part of the issue may be that the new compiler version is slower (it also makes smaller binaries), but I can't believe that's all of it.
It also doesn't seem entirely consistent. Like, I know I've encountered unpleasantly slow compile times, but compiles were fast last time I was working with it, on the same system. I'm not entirely certain what factor it was that had the impact on things.
Now, of course, 1.6.6 did add a new build system (by 1.6.9, it actually kinda worked - 1.6.6~1.6.8 are a no-mans land and should be avoided) - 1.6.5r5 has the older one, so it might be worth comparing with. But the .org fork predates that, so I don't think this is it.
IDE Initial Compile Re-compile no changes
1.6.9 78s 54s
Huh. I don't get times anywhere near that on any of my systems (WXP, W8, W10, Mac)
Compiling ArduinoISP (a reasonable-sized sketch) took about 23 seconds on a rather limited WXP Virtual Box VM (1x2.8GHz CPU, 2G RAM) using 1.6.7 (and much less on a re-compile.)
Wimpy W10 laptops and VMs ran about the same with 1.6.9 (mind you, even my wimpy laptops tend to have SSDs, and the VM environment makes it difficult to match performance of a real disk, since there are extra layers of caching involved.) (at less than $40, an 120GB SSD is a very worthwhile investment for a "work" computer, IMO.)
It's been theorized that the Arduino IDE build process interacts badly with various anti-virus software; what protection are you using? Have you tried turning it off?
westfw:
Huh. I don't get times anywhere near that on any of my systems (WXP, W8, W10, Mac)
My machine is about the same spec and I already have an SSD and AV switched off.
I tried the ArduinoISP sketch and I get about the same times as you. V1.0.5 is still quicker but not by much.
This points to a problem with the FastLED library that I was using - so at least I now know where to start looking.
It is clear 1.6.9 has a lot of overhead, but what is it doing?
Blank sketch
1.6.9 First compile: 23s Recompile: 12s
1.0.5 First compile: 11s Recompile: 3s