You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fixed
A reducer with a large state no longer holds hundreds of megabytes of pooled buffers while it reduces: the state sent to the client is written, and the state returned by the client is parsed, into buffers sized for the document instead of growing rented ones by doubling, so a heap limit is no longer exhausted by memory the document itself does not need.
Converting documents between JSON, ExpandoObject and BSON no longer allocates per value: scalar BSON conversion skips type reflection, a schema's format and its properties by name are computed once, and the case-insensitive fallback and array conversions no longer allocate closures and LINQ iterators.
Event cursors fetch 1000 events per round trip instead of whatever fits in 16 MB, so an observer reading a long backlog no longer materializes tens of thousands of events at once.