I was suffering with my elixir vscode devcontainer (docker) environment, because tests took ~20 seconds to start running.
I tried delegating the workspace: - ..:/workspace:delegated
This makes the shared folder (between the container and the host) to write first on the container and to be eventually consistent with the host, so it doesn’t try to sync all the time.
At the beginning it worked, but sometime at the beginning of this year (2021) slowed down again.
Finally got with this amazing post by Marcus Baguley, that recommends to change the /deps and /_build folder to somewhere outside the workspace folder:
Another benefit besides speed from moving your build deps out of your volume mount path is that you will no longer have a bunch of dependencies volume mounted back to your dev box, so things stay tidy.
It’s also a discussion point in my upcoming DockerCon talk because this concept applies to other things too like node_modules/.
Oh, I discovered that It was easier than what Marcus sugested
the env variables MIX_BUILD_ROOT and MIX_DEPS_PATH overrides build_path and deps_path, so you just have to add