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

Switch to FileStream/RandomAccess for I/O if feasible (.NET 9+) #76

Open
alexrp opened this issue Jan 13, 2022 · 2 comments
Open

Switch to FileStream/RandomAccess for I/O if feasible (.NET 9+) #76

alexrp opened this issue Jan 13, 2022 · 2 comments
Assignees
Labels
area: drivers Issues related to the terminal drivers. state: blocked Issues that are blocked on some other issue/work. type: feature Issues that are classified as feature requests.
Milestone

Comments

@alexrp
Copy link
Sponsor Member

alexrp commented Jan 13, 2022

A number of improvements were made to FileStream in .NET 6: https://devblogs.microsoft.com/dotnet/file-io-improvements-in-dotnet-6

FileStream is now looking like a more attractive option for I/O compared to the hand-rolled interop we do right now.

That said, there are three major issues:

The (eventual) benefits of the switch would be improved performance, 'free' support for OS-native asynchronous operations, cancellation support, and more maintainable terminal driver code.

@alexrp alexrp added type: feature Issues that are classified as feature requests. state: blocked Issues that are blocked on some other issue/work. area: drivers Issues related to the terminal drivers. labels Jan 13, 2022
@alexrp alexrp added this to the v2.0 milestone Jan 13, 2022
@alexrp alexrp self-assigned this Jan 13, 2022
@alexrp alexrp changed the title Switch to FileStream for I/O if feasible Switch to FileStream for I/O if feasible (.NET 7) Jan 13, 2022
@alexrp alexrp changed the title Switch to FileStream for I/O if feasible (.NET 7) Switch to FileStream/RandomAccess for I/O if feasible (.NET 7) Feb 6, 2022
@alexrp alexrp modified the milestones: v2.0, v1.0 Jul 13, 2022
@alexrp alexrp changed the title Switch to FileStream/RandomAccess for I/O if feasible (.NET 7) Switch to FileStream/RandomAccess for I/O if feasible (.NET 8+) Jul 29, 2022
@alexrp alexrp modified the milestones: v1.0, v2.0 Jul 29, 2022
@alexrp alexrp modified the milestones: v2.0, v3.0 Oct 28, 2022
@alexrp alexrp changed the title Switch to FileStream/RandomAccess for I/O if feasible (.NET 8+) Switch to FileStream/RandomAccess for I/O if feasible (.NET 9+) Oct 12, 2023
@alexrp alexrp modified the milestones: v3.0, Future Jan 1, 2024
@alexrp
Copy link
Sponsor Member Author

alexrp commented Jan 5, 2024

Started an upstream discussion regarding Unix cancellation: dotnet/runtime#96530

@alexrp
Copy link
Sponsor Member Author

alexrp commented Jan 27, 2024

dotnet/runtime#96711

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: drivers Issues related to the terminal drivers. state: blocked Issues that are blocked on some other issue/work. type: feature Issues that are classified as feature requests.
Development

No branches or pull requests

1 participant