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
{{ message }}
This repository was archived by the owner on Feb 26, 2021. It is now read-only.
.NET Core 2.1 is going to bring new changes to ValueTask<T> that are going to enable it to wrap simple awaitable objects that can be reused across multiple async operations:
This is a good fit for things like reading rows asynchronously from a DbDataReader (and all the layers above, including anything that implements IAsyncEnumerable).
This issue is about trying to do some experiments to measure the potential impact of this. E.g. we could modify Peregrine to leverage this in a completely allocation free async implementation and compare.
Having an idea of the impact can help us prioritize the changes and also decide how soon we should do it: we need to decide on public surface changes. E.g. do we just add a new alternative to ReadAsync that return ValueTask (and similar GetFieldValueAsync) or do we wait until the new IAsyncEnumerable<out T> is baked and create something based on it?