-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Closed
Labels
Bottom Up WorkNot part of a theme, epic, or user storyNot part of a theme, epic, or user storyCost:XLWork that requires one engineer more than 4 weeksWork that requires one engineer more than 4 weeksPriority:1Work that is critical for the release, but we could probably ship withoutWork that is critical for the release, but we could probably ship withoutTeam:LibrariesUser StoryA single user-facing feature. Can be grouped under an epic.A single user-facing feature. Can be grouped under an epic.area-System.IOtenet-performancePerformance related issuePerformance related issue
Milestone
Description
(Note .CopyToAsync
is pretty good; for certain combinations of flags)
P0
- Win32 FileStream turns async reads into sync reads Win32 FileStream turns async reads into sync reads #16341
- FileStream.FlushAsync ends up doing synchronous writes FileStream.FlushAsync ends up doing synchronous writes #27643
- Win32 FileStream will issue a seek on every ReadAsync and WriteAsync call Win32 FileStream will issue a seek on every ReadAsync call #16354
- FileStream.Windows useAsync WriteAsync calls blocking apis FileStream.Windows useAsync WriteAsync calls blocking apis #25905
- Avoid expensive
GetFileInformationByHandleEx
syscall if possible Avoid expensive GetFileInformationByHandleEx syscall if possible #49541 - Asynchronous random file access with FileStream Read vs ReadAsync in a loop / parallel (ReadAsync is slow) Asynchronous random file access with FileStream Read vs ReadAsync in a loop / parallel (ReadAsync is slow) #27047
- Reduce FileStream allocations Reduce FileStream allocations #49539
P1
- Avoid unnecessary allocations when using FileStream Avoid unnecessary allocations when using FileStream #15088
- FileStream file preallocation performance FileStream file preallocation performance #45946
P2
- Use PreallocatedOverlapped when internal FileStream buffer isn't being used on Windows Use PreallocatedOverlapped when internal FileStream buffer isn't being used on Windows #25074
- File.WriteAllTextAsync performance issues File.WriteAllTextAsync performance issues #23196
- Implement new FileStreamStrategy for Unix Implement new FileStreamStrategy for Unix #53809
Moved to Future
- File.ReadAllTextAsync not behaving asynchronously when called on inaccessible network files File.ReadAllTextAsync not behaving asynchronously when called on inaccessible network files #25314
Rosyln has their own workarounds for FileStream issues; and NuGet recently moved to mmap for better performance NuGet/NuGet.Client#3524
Edit by carlossanlop: To focus on the Async/Sync improvements, I'm removing 3 issues from the list that are separate from that topic.
_Edit by @adamsitnik: Proiorities
mahara, loic-sharma, strangeman375, john-h-k, AlgorithmsAreCool and 17 more
Metadata
Metadata
Labels
Bottom Up WorkNot part of a theme, epic, or user storyNot part of a theme, epic, or user storyCost:XLWork that requires one engineer more than 4 weeksWork that requires one engineer more than 4 weeksPriority:1Work that is critical for the release, but we could probably ship withoutWork that is critical for the release, but we could probably ship withoutTeam:LibrariesUser StoryA single user-facing feature. Can be grouped under an epic.A single user-facing feature. Can be grouped under an epic.area-System.IOtenet-performancePerformance related issuePerformance related issue