Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Slow compilation output throughput in "Output" panel #405

Closed
tistructor opened this issue Jun 9, 2021 · 5 comments · Fixed by #1058
Closed

Slow compilation output throughput in "Output" panel #405

tistructor opened this issue Jun 9, 2021 · 5 comments · Fixed by #1058
Assignees
Labels
conclusion: resolved Issue was resolved criticality: highest Of highest impact topic: code Related to content of the project itself type: imperfection Perceived defect in any part of project

Comments

@tistructor
Copy link

tistructor commented Jun 9, 2021

It's not really a bug.
I am noticing a consistent speed worsening in the compilation phase between the Arduino IDE versions 1.8.15 and the version 2.0.0.7B under linux Mint 20.1.

With the stable version the compilation speed is significantly faster.
Even when there is no need to recompile the whole project for minimal variation, version 2 beta has disappointing performance.

Watch the two videos:

2021-06-09.10-57-57.mp4
2021-06-09.11-00-26.mp4
  1. Open a project with some complexity

  2. Compile the project with the stable version

  3. recompile so that most files don't need to be recompiled

  4. The speed is very high.

  5. Do the same with the Beta version

  6. The recompilation takes the same time as the compilation.

I would expect the speeds to be almost identical.

  • OS: Linux Mint 20.1
  • Version: Stable 1.8.15, Beta 2.0.0.7B

Maybe incremental compilation is not enabled?

@tistructor
Copy link
Author

Last night in using it at a certain point the speed increased.
Then it seems that the build log is slower than actually building the project!

@per1234
Copy link
Contributor

per1234 commented Jun 10, 2021

I think you have identified the real problem. I have also noticed that there is a severe bottleneck somewhere in the console output pipeline, as I reported for upload output here: #68. When there is a lot of output, as there always is when you have verbose output during compilation enabled, the compilation process finishes at the speed dictated by the toolchain as always, but the new IDE must slowly work through displaying the backlog of output.

The effect is likely more noticeable with uploads because you can observe effects of the uploaded sketch starting to run (e.g., LED blinking) while the console shows the upload still happening. So this may be why I only reported the issue as it applies to uploads. I also noticed differences depending on which upload tool was used, so I suppose the same might apply to compilation toolchains.

@cmaglie cmaglie removed the type: bug label Sep 16, 2021
@rsora rsora added the type: imperfection Perceived defect in any part of project label Sep 22, 2021
@per1234 per1234 changed the title Compilation speed comparison between stable version and V2 beta under linux Slow compilation output throughput in "Output" panel Oct 25, 2021
@per1234 per1234 added the topic: code Related to content of the project itself label Oct 25, 2021
@Lorandil
Copy link

Lorandil commented Jan 6, 2022

I have the same issue here, and I wouldn't just call it 'imperfection'.
In my opinion it's really annoying: I have a text segment overflow, the compiler reports an error popup.
The output slows down and goes on for another 10 seconds, before I see how much bytes I'm short...

@per1234
Copy link
Contributor

per1234 commented Jan 6, 2022

Hi @Lorandil. I agree that it is annoying. About the "type: imperfection" label. This is only a general purpose way to classify issues and PRs are being related to a defect rather than an enhancement. We renamed "type: bug" to "type: imperfection" after it was pointed out that the term "bug" is specific to code, whereas we need a label that can be applied to defects of any kind (we have separate "topic: code", etc. labels to identify the area the defect occurs in). It is not a metric of the severity of the defect. We have additional labels for that purpose, which are applied by the project managers while assigning development priorities:
https://github.com/arduino/arduino-ide/labels?q=criticality

@bugrasan
Copy link

still an issue on linux with arduino-ide_nightly-20220316_Linux_64bit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
conclusion: resolved Issue was resolved criticality: highest Of highest impact topic: code Related to content of the project itself type: imperfection Perceived defect in any part of project
Projects
None yet
Development

Successfully merging a pull request may close this issue.

9 participants