-
Notifications
You must be signed in to change notification settings - Fork 43
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
Chunked seekable stream reader #566
Conversation
…ightly) better performance
remove cruft from another branch
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All's good aside from the small notes.
{ | ||
if (Find(key) is var index && index != -1) | ||
{ | ||
value = _values[index]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This can use DangerousGetReferenceAt
to eliminate bounds checks.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is fine for merging in current state.
Do consider eliminating some additional bounds checks with DangerousGetReferenceAt
where you feel applicable; as it would shave some instructions here and there. That said, all's good now.
resolves #565
This implements a system for lazy loading of data via chunked streams, main classes implemented in this PR:
GetChunk
methods so that each type of threading model remains performant