Skip to content

Comments

preference to disable initial cache of fieldtypes(#991)#992

Open
dpinol wants to merge 1 commit intotimholy:masterfrom
dpinol:precache_fieldtypes-pref
Open

preference to disable initial cache of fieldtypes(#991)#992
dpinol wants to merge 1 commit intotimholy:masterfrom
dpinol:precache_fieldtypes-pref

Conversation

@dpinol
Copy link

@dpinol dpinol commented Jan 8, 2026

Fixes #991 adding a Preference.jl optional to disable the initial fieltypes cache population

Copy link
Collaborator

@aviatesk aviatesk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we document this somewhere?

@dpinol dpinol force-pushed the precache_fieldtypes-pref branch from 5d6190f to a6b2081 Compare January 8, 2026 13:43
@dpinol
Copy link
Author

dpinol commented Jan 8, 2026

Can we document this somewhere?

done, thanks

@timholy
Copy link
Owner

timholy commented Jan 19, 2026

I'm starting to make steps towards "coming back," but I'm hesitating a bit on this. Once we merge this we need to stick with it until the next breaking release.

I think there's some question whether the better thing to do is have an option to disable type revision. Without a pre-populated cache, type revision is so slow that it's often faster to just quit the session. If we just do it this way, then if you change any types it will start on the slow task of populating the cache.

@JamesWrigley
Copy link
Contributor

JamesWrigley commented Jan 22, 2026

I don't have a strong opinion on whether the preference should be on the type cache or type revision entirely, but I'm definitely +1 on having some option that ends up disables the caching. It's kinda annoying to have Revise hog a thread for 30s every time Julia starts.

@lassepe
Copy link

lassepe commented Jan 23, 2026

+1 for allowing to disable struct vision all together

aviatesk added a commit that referenced this pull request Jan 24, 2026
This addresses the segfault issue reported in
JuliaLang/julia#60721.

The future of this feature is still undecided (#992),
but this change prioritizes preventing segfaults over performance for
now.
aviatesk added a commit that referenced this pull request Jan 24, 2026
This addresses the segfault issue reported in
JuliaLang/julia#60721.

The future of this feature is still undecided (#992),
but this change prioritizes preventing segfaults over performance for
now.
@aviatesk
Copy link
Collaborator

We had a segfault issue with this part on v1.12 and Apple Silicon environments, as reported in JuliaLang/julia#60721 (due to a problem on the Julia side, just to be clear). For now, wIve added a fix in 3.12.2 to disable this pre cache-population when it's v1.12 and Sys.isapple().

@lassepe
Copy link

lassepe commented Jan 25, 2026

I think it's still good to have an option to disable struct revision until the performance issues are resolved

@JamesWrigley
Copy link
Contributor

Gentle bump, would be great to have an option for this.

@aviatesk
Copy link
Collaborator

aviatesk commented Feb 4, 2026

I think it's okay to add this option, as far as we put an explicit "experimental" warning on this preference, and make it clear that this configuration might change or even be removed without announcement, depending on our plans for struct revision-related issues.

@pfitzseb
Copy link
Collaborator

pfitzseb commented Feb 4, 2026

Should this be an opt-in instead, given that the performance issues can be fairly severe?

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.

unexpected background thread after Revise 1.13.1

6 participants