Skip to content

Deeply recursive types highlight performance issue in sysimg creation, type_in_worklist is inefficient. #53331

@simsurace

Description

@simsurace

I have been experiencing long delays between finishing a precompilation workload (using PrecompileTools.jl) and exiting precompilation. In the full-scale example, the numbers were

  • First call to the function without PrecompileTools: ~40seconds
  • First call to the function during precompilation: ~20seconds
  • Time between the function returning and precompilation finishing (start of test suite): ~1200seconds

I have been able to reproduce the issue in a small package: https://github.com/simsurace/WeirdPrecompilationProblem.jl
The numbers are much smaller for the MRE, but there is still a large delay of approx. 2minutes between the function returning and precompilation finishing on all of my machines (Linux and MacOS).

This is a follow-up from a discussion with @vchuravy on Slack.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions