After yesterday's PlatformIO update, ESP-IDF projects compile very slowly

Yesterday and today PlatformIO was updated on three computers. On one, everything is fine, everything works as before.
But on two - compilation became terribly, terribly slow, for the same project.
The process first gets stuck on “Reading CMake configuration…”, hangs for several minutes, then displays a dependency tree, hangs even longer, and only after a long pause does the normal build begin.
I tried to remove and reinstall everything - platforms, libraries and pio itself. What’s most interesting is that on the last computer at work there is no such slowdown.

[SUCCESS] Took 729.51 seconds, Karl!

Usually this project is assembled in a minute or two maximum

@valeros, do we have a compilation degradation between PlatormIO Core 6.1.13 and 6.1.14?

Probably. I can only associate this with this transition. Now even PIO: Loading tasks takes much longer to complete.
Can I somehow rollback Core to check?

Sorry, I realized that the question was not addressed to me

Yes, you can revert to the 6.1.13. Please open the PlatformIO Core CLI and type

python -m pip install "platformio==6.1.13"

Did it improve the situation?

PS C:\Projects\PlatformIO\village_greenhouse> python -m pip install “platformio==6.1.13”
C:\Users\kotyara12.platformio\python3\python.exe: No module named pip

Hi @kotyara12, is your project publicly available? I’ll need it to reproduce the issue.

I think I understand the source of the problem. The problem is on projects that use esp_modbus. I still can’t understand why, but I’m figuring it out. On those projects where rs485 was not used, everything is fine.

This doesn’t seem to be related to platformio.
I apologize for the false alarm and concern. I needed to check out another project before writing.

1 Like

Eat. This is also where compilation slows down: GitHub - kotyara12/telemeter_dzen: Термостат + охранно-пожарная сигнализация

Good afternoon I’m sorry, I’m bringing up the same topic.

I noticed here that if there are less than ~30 libraries in a project (32???), then the project is assembled quite quickly.
If there are more of them (and in some I have 40 or more), then it gets stuck in the process of checking dependencies, as I described above.

Could this be due to some kind of buffering during compilation?

Hi @kotyara12, sorry for the late reply. I was able to reproduce the issue and it seems that PlatformIO LDF in the "+" mode is not able to process all your libraries in reasonable time. The issue is not ESP-IDF specific, the same behavior is reproducible with other frameworks. In a nutshell, the latest PlatformIO release brought a new version of the underlying build system which in turn contained some changes related to the C/C++ preprocessing we use for finding dependencies. As a workaround, I can recommend two options: You can restructure your project so that it works with default LDF in chain mode or you can explicitly declare your dependencies in lib_deps option (In this case the internal dependecies for each library should also be declared in manifest.json files.)

1 Like

Thank you! The proposed solution (replacing chain+ with chain) really helped. In addition, the fact that you have reproduced the problem inspires optimism that it will be fixed. Thank you again

Thank you very much for your answer. It perfectly solved my problem. Platforio is the most powerful, and its author is also