Skip to content

Remove closures for callable types #657

@ChrisRackauckas

Description

@ChrisRackauckas

Because closures are not consistent types, they inhibit precompilation. If the closures used for the adjoints were instead callable types, which would make sure that every session has the same types and thus they should in theory be amenable to precompilation. This would be a huge but non-breaking code churn. I wonder if everyone would be okay with that programming style. It would also help in many cases with inference, because closures are known to cause inference issues. So in general this could improve compile and run time performance quite a bit, but it's a bit nasty.

Metadata

Metadata

Assignees

No one assigned

    Labels

    designRequires some design before changes are madeneeds-careful-thoughtA reminder that this thing is not obviouis and care must be taken when working on itperformanceRelated to improving computational performance

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions