Skip to content

Use PEP 509 to invalidate cache of compiled @jit functions #2242

@seibert

Description

@seibert

Right now, Numba violates Python semantics by "freezing" the value of globals as well as the inlining other function bodies when compiling a @jit function in nopython mode. This is because there has been no efficient way to detect when these external dependencies have changed.

Python 3.6 includes PEP 509, which adds a version number to dictionaries that Numba's dispatcher could check at call time to determine if dependent global variables or functions have been modified since the function was compiled.

Metadata

Metadata

Assignees

No one assigned

    Labels

    cachingIssue involving caching

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions