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

Disable speculative evaluation in coreprep in ghc 9.4, 9.6, 9.8 #2253

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

luite
Copy link

@luite luite commented Sep 22, 2024

Speculative evaluation was found to cause a large increase in allocations in certain situations.

This should fix the regression we saw in cardano-node: increased allocations and cpu time during mempool snapshotting.

Speculative evaluation was found to cause a large increase in
allocations in certain situations. We disable it for now.
@luite
Copy link
Author

luite commented Sep 24, 2024

I've re-enabled some speculative eval while keeping the problematic ones disabled. 9.10 patch will follow soon.

I think the condition can still be refined more.

@luite
Copy link
Author

luite commented Oct 11, 2024

We plan to get this fix in the next 9.6 maintenance release (likely late 2024), but the patch may change a bit since it can affect performance of other code. We're not yet sure if unconditionally disabling speculation for dictionary functions is the optimal thing.

If there's no optimal choice for all code, we'll add a flag to GHC 9.6.7 (and higher) to control the speculation behaviour.

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