Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
6caf82d
Optimize string.Split(char, ...)
hamarb123 Mar 10, 2026
9ed7713
Add additional optimization for the case where separators are sparse …
hamarb123 Mar 10, 2026
35cfe8b
Remove unnecessary using
hamarb123 Mar 10, 2026
93b7acc
Address most feedback from copilot
hamarb123 Mar 10, 2026
43eef0e
Update SpanHelpers.Packed.cs
hamarb123 Mar 10, 2026
ce9162e
Address copilot feedback
hamarb123 Mar 10, 2026
65db592
Add vectorized handling for remnant
hamarb123 Mar 10, 2026
182aaa1
Address copilot feedback
hamarb123 Mar 10, 2026
b68c868
Update String.Manipulation.cs
hamarb123 Mar 10, 2026
8fdc167
Add tests
hamarb123 Mar 11, 2026
69b0594
Fix copy & paste error
hamarb123 Mar 11, 2026
f2a7749
Fix test failures
hamarb123 Mar 11, 2026
fdf8887
Convert to safe simd using copilot
hamarb123 May 5, 2026
939c5ae
Merge branch 'main' into main33
hamarb123 May 5, 2026
5ac03e1
Apply suggestions from code review
hamarb123 May 5, 2026
443ec50
Fix typing
hamarb123 May 5, 2026
8a13cab
Merge branch 'main33' of https://github.com/hamarb123/runtime into ma…
hamarb123 May 5, 2026
46f82cd
Change spacing back for 'MakeSeparatorListAny'
hamarb123 May 5, 2026
6551e90
Merge branch 'main' into main33
hamarb123 Jun 25, 2026
67fdc66
Update src/libraries/System.Private.CoreLib/src/System/String.Manipul…
hamarb123 Jun 26, 2026
f91b0e3
Re-order cases to be more optimal
hamarb123 Jun 26, 2026
2470c78
Fix compile error
hamarb123 Jun 26, 2026
10a73ed
test if changing 3 param version also is profitable
hamarb123 Jun 27, 2026
d4732bd
Clean up new code (and existing code) by making cmp directly in all c…
hamarb123 Jun 27, 2026
1084e9d
fix logic
hamarb123 Jun 27, 2026
cb8d731
Revert 1-3 to be shared logic
hamarb123 Jun 27, 2026
13d9e25
Update String.Manipulation.cs
hamarb123 Jun 27, 2026
8be94ce
Update String.Manipulation.cs
hamarb123 Jun 27, 2026
585430f
Update String.Manipulation.cs
hamarb123 Jun 27, 2026
e0be16e
Add some additional tests
hamarb123 Jun 27, 2026
f34210b
Merge branch 'main' into main33
hamarb123 Jun 27, 2026
dd77554
Try more optimal comparison sequence
hamarb123 Jun 27, 2026
2871b1e
Re-add special handling for 1-char case
hamarb123 Jun 27, 2026
098951d
Revert "Re-add special handling for 1-char case"
hamarb123 Jul 4, 2026
3354142
Merge branch 'main' into main33
hamarb123 Jul 4, 2026
96c5347
Update String.Manipulation.cs
hamarb123 Jul 4, 2026
dedfba7
Merge branch 'main33' of https://github.com/hamarb123/runtime into ma…
hamarb123 Jul 4, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1140,7 +1140,7 @@ private static int IndexOfAnyInRange<TNegator>(ref short searchSpace, short lowI

[MethodImpl(MethodImplOptions.AggressiveInlining)]
[CompExactlyDependsOn(typeof(Avx512BW))]
private static Vector512<byte> PackSources(Vector512<short> source0, Vector512<short> source1)
internal static Vector512<byte> PackSources(Vector512<short> source0, Vector512<short> source1)
Comment thread
hamarb123 marked this conversation as resolved.
{
Debug.Assert(Avx512BW.IsSupported);
// Pack two vectors of characters into bytes. While the type is Vector256<short>, these are really UInt16 characters.
Comment thread
hamarb123 marked this conversation as resolved.
Expand All @@ -1152,7 +1152,7 @@ private static Vector512<byte> PackSources(Vector512<short> source0, Vector512<s

[MethodImpl(MethodImplOptions.AggressiveInlining)]
[CompExactlyDependsOn(typeof(Avx2))]
private static Vector256<byte> PackSources(Vector256<short> source0, Vector256<short> source1)
internal static Vector256<byte> PackSources(Vector256<short> source0, Vector256<short> source1)
{
Debug.Assert(Avx2.IsSupported);
// Pack two vectors of characters into bytes. While the type is Vector256<short>, these are really UInt16 characters.
Expand All @@ -1164,7 +1164,7 @@ private static Vector256<byte> PackSources(Vector256<short> source0, Vector256<s

[MethodImpl(MethodImplOptions.AggressiveInlining)]
[CompExactlyDependsOn(typeof(Sse2))]
private static Vector128<byte> PackSources(Vector128<short> source0, Vector128<short> source1)
internal static Vector128<byte> PackSources(Vector128<short> source0, Vector128<short> source1)
{
Debug.Assert(Sse2.IsSupported);
// Pack two vectors of characters into bytes. While the type is Vector128<short>, these are really UInt16 characters.
Expand Down
Loading
Loading