add fastpath for std.mem.eql and simplify std.hash_map.eqlString

this should also be friendlier to the optimizer
This commit is contained in:
Sahnvour 2019-09-03 23:56:04 +02:00
parent f08c6e4fe6
commit 9d6f236728
2 changed files with 2 additions and 3 deletions

View File

@ -23,9 +23,7 @@ pub fn StringHashMap(comptime V: type) type {
}
pub fn eqlString(a: []const u8, b: []const u8) bool {
if (a.len != b.len) return false;
if (a.ptr == b.ptr) return true;
return mem.compare(u8, a, b) == .Equal;
return mem.eql(u8, a, b);
}
pub fn hashString(s: []const u8) u32 {

View File

@ -339,6 +339,7 @@ test "mem.lessThan" {
/// Compares two slices and returns whether they are equal.
pub fn eql(comptime T: type, a: []const T, b: []const T) bool {
if (a.len != b.len) return false;
if (a.ptr == b.ptr) return true;
for (a) |item, index| {
if (b[index] != item) return false;
}