espressif/rust-esp32-example

Slow build time when using the Docker container

maelp opened this issue · 3 comments

maelp commented

Hi,

thanks for the amazing work on Rust for embedded ESP, I've been successfully using the Docker container to build the code, but the last step of the build (the linking) seems to be very slow, taking perhaps 1h on my recent osX machine,

do you know what could be the cause of this issue? For now this is a bit blocking, because we would love to use a containerized environment for development, but we can't have build times that are more than 1 or 2 minutes for a simple code

Thanks @maelp for reporting the issue.
The build in container should be fast. Please, can you check Docker settings and verify how many CPUs and memory is allowed for the container?
Long linking time might be caused by:

  • insufficient memory in the container, run diagnostic command: apt-get update && apt install -y htop && htop
  • pushing esp-idf build to mounted volume, alternative can be using docker cp and docker commit
  • insufficient entropy in the container - may cause ssl libraries to stall - type dmesg | tail -n 30 to view details in system log

Try also following command to get more details: docker stats

One alternative on macOS is to use Podman which has same CLI like Docker and it allows much greater control of the container, including mounting USB devices without elevating whole container.

maelp commented

Thanks @georgik, I tried a build using a VM with more CPU and memory, and it is indeed faster (about 2min to build), which is still somewhat slow, but probably useable

maelp commented

How long does it take on your setup?