Unfortunately this is a bit complicated, implementation wise, because
"@behaviour Foo" is just a regular attribute.

I assume that your @behaviour modules define both callbacks and functions,
I would suggest splitting those for now into two separate modules and see
how/if it changes things.

On Wed, Oct 7, 2020 at 9:20 AM Victor Rodrigues <[email protected]> wrote:

> Hi there!
>
> We have a project with hundreds of modules, and it has been pretty bad on
> recompilation times. I was waiting for 1.11 to see how that would improve,
> and it actually did, but only marginally (~10% less modules), still ~300
> modules-ish on every change.
>
> There’s definitely work to do in our end to reduce that dependency chain,
> but it seems `@behaviour` is a important culprit here.
>
> I wonder if `@behaviour` could become a “export” type dependency in the
> future, does this make sense from the point of view of the compiler? From a
> user perspective, it looks to me it would be fine if modules that implement
> a behaviour would only need to recompile if callbacks changed. I think this
> would improve a lot on our case.
>
> Thanks!
>
> --
> You received this message because you are subscribed to the Google Groups
> "elixir-lang-core" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/elixir-lang-core/2e71f930-999b-46aa-9231-15b62838b0ccn%40googlegroups.com
> <https://groups.google.com/d/msgid/elixir-lang-core/2e71f930-999b-46aa-9231-15b62838b0ccn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4JBSGAK5ctxbkDuZkduxhSXThu4fbJE3A5UJ0bd6yypZA%40mail.gmail.com.

Reply via email to