perf: cache total counts and avoid temporaries in Template._pred - #1149
Merged
Conversation
- BinnedCost caches the total number of entries of the unmasked bins in _update_cache. BinnedNLL._pred and _grad summed the counts on every call. - Template._pred added a full array of 1e-300 per component. A scalar add gives the same variance floor without the temporaries. - Replace abc.abstractproperty, deprecated since Python 3.3, with property over abstractmethod. Assisted-by: ClaudeCode:claude-opus-5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖 AI text below 🤖
Split out of #1137. No behavior change.
BinnedCostcaches the total number of entries of the unmasked bins in_update_cache.BinnedNLL._predand_gradsummed the counts on every call.Template._predadded a full array of1e-300per component. A scalar add gives the same variance floor without the temporaries.abc.abstractproperty, deprecated since Python 3.3, withpropertyoverabstractmethod.Touches the same region of
BinnedNLL._gradas #1137, so a trivial conflict is possible depending on merge order.Reported in #1132.