Skip to content

Conversation

@timholy
Copy link
Contributor

@timholy timholy commented Apr 25, 2023

This pull request migrates the package from SnoopPrecompile to PrecompileTools.
PrecompileTools is nearly a drop-in replacement except that there are changes in naming and how developers locally disable precompilation (to make their development workflow more efficient). These changes are described in PrecompileTool's enhanced documentation, which also includes instructions for users on how to set up custom "Startup" packages, handling precompilation tasks that are not amenable to workloads, and tips for troubleshooting.

Why the new package? It meets several goals:

  • The name "SnoopPrecompile" was easily confused with "SnoopCompile," a package designed for analyzing rather than enacting precompilation.
  • SnoopPrecompile/PrecompileTools has become (directly or indirectly) a dependency for much of the Julia ecosystem, a trend that seems likely to grow with time. It makes sense to host it in a more central location than one developer's personal account.
  • As Julia's own stdlibs migrate to become independently updateable (true for DelimitedFiles in Julia 1.9, with others anticipated for Julia 1.10), several of them would like to use PrecompileTools for high-quality precompilation. That requires making PrecompileTools its own "upgradable stdlib."
  • We wanted to change the use of Preferences to make packages more independent of one another. Since this would have been a breaking change, it seemed like a good opportunity to fix other issues, too.

For more information and discussion, see this discourse post.

@ChrisRackauckas ChrisRackauckas merged commit abdf3bf into SciML:master Apr 26, 2023
@timholy timholy deleted the teh/precompiletools branch April 26, 2023 11:18
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.

2 participants