-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Compilation speed degraded ~7x on 1.20.0-rc-2 #15145
Description
Elixir and Erlang/OTP versions
Erlang/OTP 27 [erts-15.0.1] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [jit]
Elixir 1.20.0-rc.2 (9a663cf) (compiled with Erlang/OTP 27)
Operating system
MacOS 15.7.3 (24G419)
Current behavior
Today I decided to test the latest main branch (installed main-otp-27 version with asdf).
I am comparing compilation speeds on the following public and rather big Elixir repo: https://github.com/santiment/sanbase2
On 1.20.0-rc.0 running time mix compile I get:
mix compile 64.59s user 15.51s system 437% cpu 18.301 total
On 1.20.0-rc.2 running time mix compile I get:
mix compile 496.95s user 19.19s system 193% cpu 4:26.57 total
Possible culprit might be the Absinthe's GraphQL definitions modules.
During compilation I see a lot of time is spent here:
Compiling lib/sanbase_web/graphql/schema/types/user_types.ex (it's taking more than 10s)
Compiling lib/sanbase_web/graphql/schema/types/queries_types.ex (it's taking more than 10s)
Compiling lib/sanbase_web/graphql/schema/types/project_types.ex (it's taking more than 10s)
Compiling lib/sanbase_web/graphql/schema/types/metric_types.ex (it's taking more than 10s)
Verifying SanbaseWeb.Graphql.ProjectTypes (it's taking more than 10s)
Verifying SanbaseWeb.Graphql.UserTypes (it's taking more than 10s)
Verifying SanbaseWeb.Graphql.MetricTypes (it's taking more than 10s)
Verifying SanbaseWeb.Graphql.QueriesTypes (it's taking more than 10s)
Verifying SanbaseWeb.Graphql.SocialDataTypes (it's taking more than 10s)
Expected behavior
Compilation speed should not degrade.