3 ms·
You're measuring a cached compile in the subsequent runs. The deps.compile probably did some native compilation in the dep folder directly rather in _build.
by yuliyp 1y ago
You're measuring a cached compile in the subsequent runs. The deps.compile probably did some native compilation in the dep folder directly rather in _build.
- dns_snek 1y agoNo their results are correct. It roughly halved the compilation time on a newly generated Phoenix project. I'm assuming the savings would be more extensive on projects with multiple native dependencies that have lengthy compilation. rm -rf _build/ deps/ && mix deps.get && time MIX_OS_DEPS_COMPILE_PARTITION_COUNT=1 mix deps.compile ________________________________________________________ Executed in 37.75 secs fish external usr time 103.65 secs 32.00 micros 103.65 secs sys time 20.14 secs 999.00 micros 20.14 secs rm -rf _build/ deps/ && mix deps.get && time MIX_OS_DEPS_COMPILE_PARTITION_COUNT=5 mix deps.compile ________________________________________________________ Executed in 16.71 secs fish external usr time 2.39 secs 0.05 millis 2.39 secs sys time 0.87 secs 1.01 millis 0.87 secs rm -rf _build/ deps/ && mix deps.get && time MIX_OS_DEPS_COMPILE_PARTITION_COUNT=10 mix deps.compile ________________________________________________________ Executed in 17.19 secs fish external usr time 2.41 secs 1.09 millis 2.40 secs sys time 0.89 secs 0.04 millis 0.89 secs
- dns_snek 1y agoSimilar result on one of my real projects that's heavier on the Elixir dependencies but that only has 1 additional native dependency (brotli): mise use elixir@1.19-otp-26 erlang@26 rm -rf _build/ deps/ && mix deps.get && time MIX_OS_DEPS_COMPILE_PARTITION_COUNT=1 mix deps.compile ________________________________________________________ Executed in 97.93 secs fish external usr time 149.37 secs 1.45 millis 149.37 secs sys time 28.94 secs 1.11 millis 28.94 secs rm -rf _build/ deps/ && mix deps.get && time MIX_OS_DEPS_COMPILE_PARTITION_COUNT=5 mix deps.compile ________________________________________________________ Executed in 42.19 secs fish external usr time 2.48 secs 0.77 millis 2.48 secs sys time 0.91 secs 1.21 millis 0.91 secs
- yuliyp 1y agoOh, interesting. I guess `time` is only reporting the usr/sys time of the main process rather than the child workers when using PARTITION_COUNT higher than 1?