Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better precompilability #287

Merged
merged 3 commits into from
Jan 7, 2021
Merged

Better precompilability #287

merged 3 commits into from
Jan 7, 2021

Commits on Dec 31, 2020

  1. Improve precompilability with noninferrable filename

    After #259, the result of `filename(q)` is not inferrable.
    This uses "the kernel trick" to provide a single point where the result
    must be inferred, and an `invokelatest` to prevent the abstract signature
    from being inferred. It then precompiles the `::String` variant.
    Consequently, with respect to latency this should get us back to where
    we were before #259.
    timholy committed Dec 31, 2020
    Configuration menu
    Copy the full SHA
    c2fb5b0 View commit details
    Browse the repository at this point in the history
  2. Detach applicable_loaders from its error path

    For reasons I don't fully understand, either the string interpolation or
    the error messes up precompilation of `applicable_loaders`. This splits
    it out into a separate function and calls it via `invokelatest` to
    prevent it from blocking precompilation.
    timholy committed Dec 31, 2020
    Configuration menu
    Copy the full SHA
    35d62f6 View commit details
    Browse the repository at this point in the history
  3. Eliminate the offer to interactively add packages

    I haven't seen this warning come up in a long time, so I don't think
    this code is active. It adds significant latency due to the time
    needed to infer the Pkg calls, so let's ditch it.
    
    xref #226.
    timholy committed Dec 31, 2020
    Configuration menu
    Copy the full SHA
    6f009f0 View commit details
    Browse the repository at this point in the history