authorgravatar for dec05eba@protonmail.comdec05eba <dec05eba@protonmail.com> 2020-09-06 16:23:18+02:00
committergravatar for dec05eba@protonmail.comdec05eba <dec05eba@protonmail.com> 2020-09-06 16:23:18+02:00
logff58f09b68de08a5fe33177f1874c677c762c1c0
tree3511a548924bd6f3bc2ba100d3fc7c9afb268667
parent8af1f8ba1ad43a750e0040ac845b331241ead329

Use better haystack size and needle size for cutoff between linear and BMH


1 files changed, 1 insertions(+), 1 deletions(-)

lib/std/mem.zig+1-1
...@@ -927,7 +927,7 @@ pub fn indexOfPos(comptime T: type, haystack: []const T, start_index: usize, nee...@@ -927,7 +927,7 @@ pub fn indexOfPos(comptime T: type, haystack: []const T, start_index: usize, nee
927 if (needle.len > haystack.len) return null;927 if (needle.len > haystack.len) return null;
928 if (needle.len == 0) return 0;928 if (needle.len == 0) return 0;
929929
930 if (!meta.trait.hasUniqueRepresentation(T) or haystack.len < 32 or needle.len <= 2)930 if (!meta.trait.hasUniqueRepresentation(T) or haystack.len < 52 or needle.len <= 4)
931 return indexOfPosLinear(T, haystack, start_index, needle);931 return indexOfPosLinear(T, haystack, start_index, needle);
932932
933 const haystack_bytes = sliceAsBytes(haystack);933 const haystack_bytes = sliceAsBytes(haystack);