-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Closed
dotnet/corefx
#41684Labels
area-System.NetenhancementProduct code improvement that does NOT require public API changes/additionsProduct code improvement that does NOT require public API changes/additionshelp wanted[up-for-grabs] Good issue for external contributors[up-for-grabs] Good issue for external contributorstenet-performancePerformance related issuePerformance related issue
Milestone
Description
After doing an investigation on some performance traces collected from some mvc aspnet applications scenarios we found that a considerable amount of char[] objects were allocated on the GC Heap which are coming from Uri.UnescapeDataString codepath that is calling UriHelper.UnescapeString (source code) which receives a char[] as the destination of the unescaped string and then creating a string from that char[].
I know it would be a big change but we could probably consider using the sourceString that is already allocated or using a PooledStringBuilder which uses an ArrayPool for the buffer cache as explained here:
/cc @danmosemsft @jkotas @stephentoub
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area-System.NetenhancementProduct code improvement that does NOT require public API changes/additionsProduct code improvement that does NOT require public API changes/additionshelp wanted[up-for-grabs] Good issue for external contributors[up-for-grabs] Good issue for external contributorstenet-performancePerformance related issuePerformance related issue