2025-02-16 10:51 PM
Since upgrading to 1.17.0 compile times have went from a pleasant time to wow, that is slow. Anyone else experiencing this?
Basic project from template:
22:45:47 **** Incremental Build of configuration Debug for project CompileTimeTest ****
make -j4 all
arm-none-eabi-size CompileTimeTest.elf
text data bss dec hex filename
11996 9 1644 13649 3551 CompileTimeTest.elf
Finished building: default.size.stdout
22:47:00 Build Finished. 0 errors, 0 warnings. (took 1m:13s.194ms)
I've tried 32 cores to just 4 and the time difference is in a few seconds. All build times are now in minutes when they used to be less than 20 seconds.
Solved! Go to Solution.
2025-02-17 03:55 AM - edited 2025-02-17 03:57 AM
Here on my (new) MxLinux and IDE 1.17.0 :
arm-none-eabi-size mini-DSO-F303-ili9341.elf
arm-none-eabi-objcopy -O binary mini-DSO-F303-ili9341.elf "mini-DSO-F303-ili9341.bin"
text data bss dec hex filename
42604 480 19860 62944 f5e0 mini-DSO-F303-ili9341.elf
Finished building: default.size.stdout
Finished building: mini-DSO-F303-ili9341.bin
12:28:53 Build Finished. 0 errors, 1 warnings. (took 677ms)
So this is what you can expect - if everything working fine (AMD Ryzen and with SSD/M2 disc). :D
At first i had installed EndeavourOS - but got about 1...3 minutes to compile !
So i tried to find the reason - and its not the IDE itself, its a call to something like "check all open files in system".
Problem is: on many systems this defaults to max.open files, big number. To limit it, call:
ulimit -n -H 4096
(https://www.reddit.com/r/debian/comments/1einvq3/solved_problems_with_the_newest_stm32cubeide_on/ )
Please remember that this command modifies the settings only for that particular console session. So you need to run CubeIDE from the command line, in the same console session.
I usually use the following script for that (the /home/emb/st/bin is the directory where I have put the stlink-server binary).
#!/bin/bash ( export PATH=/home/emb/st/bin:$PATH ulimit -n -H 4096 /home/emb/st/stm32cubeide_1.17.0/stm32cubeide )
So with limit to open files its running ok then.
Just on MxLinux they have set a useful limit and so IDE just running without extra delay.
Try.
(Next problem you might see, when start debug...but thats another story.
see:
)
2025-02-17 12:30 AM
I don't really use CubeIDE.
But for more than 70 seconds of build time, you should be able to monitor the CPU and memory usage with the standard tools.
I like htop in such circumstances.
I suppose you have checked for disk / user space issues.
2025-02-17 03:55 AM - edited 2025-02-17 03:57 AM
Here on my (new) MxLinux and IDE 1.17.0 :
arm-none-eabi-size mini-DSO-F303-ili9341.elf
arm-none-eabi-objcopy -O binary mini-DSO-F303-ili9341.elf "mini-DSO-F303-ili9341.bin"
text data bss dec hex filename
42604 480 19860 62944 f5e0 mini-DSO-F303-ili9341.elf
Finished building: default.size.stdout
Finished building: mini-DSO-F303-ili9341.bin
12:28:53 Build Finished. 0 errors, 1 warnings. (took 677ms)
So this is what you can expect - if everything working fine (AMD Ryzen and with SSD/M2 disc). :D
At first i had installed EndeavourOS - but got about 1...3 minutes to compile !
So i tried to find the reason - and its not the IDE itself, its a call to something like "check all open files in system".
Problem is: on many systems this defaults to max.open files, big number. To limit it, call:
ulimit -n -H 4096
(https://www.reddit.com/r/debian/comments/1einvq3/solved_problems_with_the_newest_stm32cubeide_on/ )
Please remember that this command modifies the settings only for that particular console session. So you need to run CubeIDE from the command line, in the same console session.
I usually use the following script for that (the /home/emb/st/bin is the directory where I have put the stlink-server binary).
#!/bin/bash ( export PATH=/home/emb/st/bin:$PATH ulimit -n -H 4096 /home/emb/st/stm32cubeide_1.17.0/stm32cubeide )
So with limit to open files its running ok then.
Just on MxLinux they have set a useful limit and so IDE just running without extra delay.
Try.
(Next problem you might see, when start debug...but thats another story.
see:
)
2025-02-17 09:30 AM - edited 2025-02-17 09:32 AM
#!/bin/bash
(
ulimit -n -H 4096
/opt/st/stm32cubeide_1.17.0/stm32cubeide
)
That gave the compile time hyper speed:
09:26:00 **** Incremental Build of configuration Debug for project CompileTestTime ****
make -j22 all
arm-none-eabi-size CompileTestTime.elf
text data bss dec hex filename
32564 16 4568 37148 911c CompileTestTime.elf
Finished building: default.size.stdout
09:26:00 Build Finished. 0 errors, 0 warnings. (took 143ms)
From 1:16 to .0143, wow that's a 5300% decrease in compile time.
Thanks.