Skip to content

Conversation

serenity4
Copy link
Contributor

Perform IR interpretation and run an inlining pass on the opaque closures that we emit, resulting in faster generated code (~2x for onecall!/twocall for example) at the cost of increased compilation time.

From what I understand, for DAECompiler the performance trade-off leans heavily toward cutting down compile times, so I'm not sure that this change is desired. Nevertheless, that's something I might need to do for Mooncake to keep decent performance, and I thought this might be worth making a PR here to at least discuss it. I haven't profiled the increase in compile times, it might not be that much of an increase overall given that most extra inference should be concrete.

Requires JuliaLang/julia#59671.

The optimization pass seems to introduce correctness issues at the moment in some cases, which are caught by failing tests. That will require further troubleshooting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant