Elixir
Elixir v1.20.0-rc.6 released
Hi everyone, this release includes type inference across applications and is our last step before v1.20. Please give it a try!
Here are some things to try out:
- Before upgrading, run
mix compile --profile time --forceand see how long it takes - Run
mix compile --profile time --forceafter upgrading and report
Please report the times and your Elixir version for each.
If you have some additional seconds, please try the following changes to your mix.exs. Run mix compile --profile time --force and report your times for each scenario independently, only on -rc.6:
-
elixirc_options: [infer_signatures: [:elixir]](This makes it so we only use Elixir’s stdlib to infer signatures. I do not recommend it in practice but measuring it will help assess the impact of inference across apps) -
elixirc_options: [module_definition: :interpreted](Interprete module definitions when compiling modules, does not impact produced .beam files, it is OK to use it in prod)
Full release notes here: Release v1.20.0-rc.6 · elixir-lang/elixir · GitHub
Thank you!
First Post!
woylie
Application A
Elixir 1.19.5 (compiled with Erlang/OTP 28)
elixirc_options: [infer_signatures: [:elixir]]
[profile] Finished cycle resolution in 0ms
[profile] Finished compilation cycle of 345 modules in 6237ms
[profile] Finished writing modules to disk in 51ms
[profile] Finished after compile callback in 970ms
[profile] Finished group pass check of 345 modules in 223ms
Elixir 1.19.5 (compiled with Erlang/OTP 28)
[profile] Finished cycle resolution in 0ms
[profile] Finished compilation cycle of 345 modules in 6319ms
[profile] Finished writing modules to disk in 37ms
[profile] Finished after compile callback in 1009ms
[profile] Finished group pass check of 345 modules in 219ms
Elixir 1.20.0-rc.5 (compiled with Erlang/OTP 28)
elixirc_options: [infer_signatures: [:elixir]]
[profile] Finished cycle resolution in 0ms
[profile] Finished compilation cycle of 345 modules in 6767ms
[profile] Finished writing modules to disk in 58ms
[profile] Finished after compile callback in 485ms
[profile] Finished group pass check of 345 modules in 502ms
Elixir 1.20.0-rc.5 (compiled with Erlang/OTP 28)
elixirc_options: [module_definition: :interpreted]
[profile] Finished cycle resolution in 0ms
[profile] Finished compilation cycle of 345 modules in 6044ms
[profile] Finished writing modules to disk in 35ms
[profile] Finished after compile callback in 645ms
[profile] Finished group pass check of 345 modules in 463ms
Elixir 1.20.0-rc.6 (compiled with Erlang/OTP 28)
elixirc_options: [infer_signatures: [:elixir]]
[profile] Finished cycle resolution in 0ms
[profile] Finished compilation cycle of 345 modules in 6208ms
[profile] Finished writing modules to disk in 57ms
[profile] Finished after compile callback in 655ms
[profile] Finished group pass check of 345 modules in 492ms
Elixir 1.20.0-rc.6 (compiled with Erlang/OTP 28)
elixirc_options: [module_definition: :interpreted]
[profile] Finished cycle resolution in 0ms
[profile] Finished compilation cycle of 345 modules in 6402ms
[profile] Finished writing modules to disk in 38ms
[profile] Finished after compile callback in 433ms
[profile] Finished group pass check of 345 modules in 583ms
Application B
Elixir 1.19.5 (compiled with Erlang/OTP 28)
elixirc_options: [infer_signatures: [:elixir]]
[profile] Finished cycle resolution in 0ms
[profile] Finished compilation cycle of 731 modules in 11659ms
[profile] Finished writing modules to disk in 66ms
[profile] Finished after compile callback in 2273ms
[profile] Finished group pass check of 731 modules in 672ms
Elixir 1.19.5 (compiled with Erlang/OTP 28)
[profile] Finished cycle resolution in 0ms
[profile] Finished compilation cycle of 731 modules in 13123ms
[profile] Finished writing modules to disk in 132ms
[profile] Finished after compile callback in 2667ms
[profile] Finished group pass check of 731 modules in 768ms
Elixir 1.20.0-rc.5 (compiled with Erlang/OTP 28)
elixirc_options: [infer_signatures: [:elixir]]
[profile] Finished cycle resolution in 0ms
[profile] Finished compilation cycle of 731 modules in 11565ms
[profile] Finished writing modules to disk in 83ms
[profile] Finished after compile callback in 576ms
[profile] Finished group pass check of 731 modules in 1931ms
Elixir 1.20.0-rc.5 (compiled with Erlang/OTP 28)
elixirc_options: [module_definition: :interpreted]
[profile] Finished cycle resolution in 0ms
[profile] Finished compilation cycle of 731 modules in 11416ms
[profile] Finished writing modules to disk in 73ms
[profile] Finished after compile callback in 737ms
[profile] Finished group pass check of 731 modules in 1894ms
Elixir 1.20.0-rc.6 (compiled with Erlang/OTP 28)
elixirc_options: [infer_signatures: [:elixir]]
[profile] Finished cycle resolution in 0ms
[profile] Finished compilation cycle of 731 modules in 10993ms
[profile] Finished writing modules to disk in 60ms
[profile] Finished after compile callback in 712ms
[profile] Finished group pass check of 731 modules in 1664ms
Elixir 1.20.0-rc.6 (compiled with Erlang/OTP 28)
elixirc_options: [module_definition: :interpreted]
[profile] Finished cycle resolution in 0ms
[profile] Finished compilation cycle of 731 modules in 11439ms
[profile] Finished writing modules to disk in 78ms
[profile] Finished after compile callback in 522ms
[profile] Finished group pass check of 731 modules in 2021ms
Most Liked
josevalim
Your application is much slower to compile, we can probably make it much faster. If you are willing to grant me access to debug it further, please reach out in private!
delitrem
Hello. My application seems to compile forever with v1.20.0-rc.6 and Erlang 29.0 (everything is fine with the previous RC). Should I submit a new issue? Submitted a new issue.
josevalim
Last Post!
fteschke
1.19.5
[profile] Finished cycle resolution in 0ms
[profile] Finished compilation cycle of 966 modules in 10652ms
[profile] Finished writing modules to disk in 62ms
[profile] Finished after compile callback in 1344ms
[profile] Finished group pass check of 966 modules in 532ms
1.20.0-rc.6
[profile] Finished cycle resolution in 0ms
[profile] Finished compilation cycle of 966 modules in 11558ms
[profile] Finished writing modules to disk in 49ms
[profile] Finished after compile callback in 1940ms
[profile] Finished group pass check of 966 modules in 428ms
elixirc_options: [infer_signatures: [:elixir]]
[profile] Finished cycle resolution in 0ms
[profile] Finished compilation cycle of 966 modules in 11825ms
[profile] Finished writing modules to disk in 55ms
[profile] Finished after compile callback in 491ms
[profile] Finished group pass check of 966 modules in 431ms
elixirc_options: [module_definition: :interpreted]
[profile] Finished cycle resolution in 0ms
[profile] Finished compilation cycle of 966 modules in 12048ms
[profile] Finished writing modules to disk in 58ms
[profile] Finished after compile callback in 674ms
[profile] Finished group pass check of 966 modules in 387ms
Popular in News
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #elixirconf-us
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #metaprogramming
- #security
- #hex









