Hey guys, do you know how I can profile compilation process of elixir program? I have a lot of macros, and looks like some of them are slow in some cases, but I have no idea where to start.
For the sake of anyone seeing this via Google you can pass
--profile=time (as of Elixir 1.11):
To round up the list of compiler enhancements, the
--profile=timeoption added in Elixir v1.10 now also includes the time to compile each individual file. For example, in the Plug project, one can now get:
[profile] lib/plug/conn.ex compiled in 935ms [profile] lib/plug/ssl.ex compiled in 147ms (plus 744ms waiting) [profile] lib/plug/static.ex compiled in 238ms (plus 654ms waiting) [profile] lib/plug/csrf_protection.ex compiled in 237ms (plus 790ms waiting) [profile] lib/plug/debugger.ex compiled in 719ms (plus 947ms waiting) [profile] Finished compilation cycle of 60 modules in 1802ms [profile] Finished group pass check of 60 modules in 75ms