Danilo Fragoso 9 mesiacov pred
rodič
commit
9b12d3bc67
3 zmenil súbory, kde vykonal 4 pridanie a 98 odobranie
  1. 1 83
      hashing.zig
  2. 3 0
      makefile
  3. 0 15
      socket.zig

+ 1 - 83
hashing.zig

@@ -1,7 +1,7 @@
 const std = @import("std");
 
 pub fn hashKey(k: []const u8) u32 {
-    return xxhash32(k);
+    return djb2(k);
 }
 
 pub fn xoramasrosas(k: []const u8) u32 {
@@ -24,85 +24,3 @@ pub fn djb2(key: []const u8) u32 {
 
     return hash;
 }
-
-pub fn murmur3(key: []const u8) u32 {
-    const seed: u32 = 0;
-    var hash: u32 = seed;
-
-    const c1: u32 = 0xcc9e2d51;
-    const c2: u32 = 0x1b873593;
-
-    var i: usize = 0;
-    while (i + 4 <= key.len) : (i += 4) {
-        var k: u32 = @as(u32, key[i]) |
-            (@as(u32, key[i + 1]) << 8) |
-            (@as(u32, key[i + 2]) << 16) |
-            (@as(u32, key[i + 3]) << 24);
-
-        k *%= c1;
-        k = (k << 15) | (k >> 17);
-        k *%= c2;
-
-        hash ^= k;
-        hash = (hash << 13) | (hash >> 19);
-        hash = hash *% 5 +% 0xe6546b64;
-    }
-
-    var k: u32 = 0;
-    const remaining = key.len - i;
-    if (remaining >= 3) k ^= @as(u32, key[i + 2]) << 16;
-    if (remaining >= 2) k ^= @as(u32, key[i + 1]) << 8;
-    if (remaining >= 1) {
-        k ^= @as(u32, key[i]);
-        k *%= c1;
-        k = (k << 15) | (k >> 17);
-        k *%= c2;
-        hash ^= k;
-    }
-
-    hash ^= @as(u32, @intCast(key.len));
-    hash ^= hash >> 16;
-    hash *%= 0x85ebca6b;
-    hash ^= hash >> 13;
-    hash *%= 0xc2b2ae35;
-    hash ^= hash >> 16;
-
-    return hash;
-}
-
-pub fn xxhash32(key: []const u8) u32 {
-    const PRIME1: u32 = 2654435761;
-    const PRIME2: u32 = 2246822519;
-    const PRIME3: u32 = 3266489917;
-    const PRIME4: u32 = 668265263;
-    const PRIME5: u32 = 374761393;
-
-    var hash: u32 = PRIME5 +% @as(u32, @intCast(key.len));
-
-    var i: usize = 0;
-    while (i + 4 <= key.len) : (i += 4) {
-        const k: u32 = @as(u32, key[i]) |
-            (@as(u32, key[i + 1]) << 8) |
-            (@as(u32, key[i + 2]) << 16) |
-            (@as(u32, key[i + 3]) << 24);
-        hash +%= k *% PRIME3;
-        hash = ((hash << 17) | (hash >> 15)) *% PRIME4;
-    }
-
-    while (i < key.len) : (i += 1) {
-        hash +%= @as(u32, key[i]) *% PRIME5;
-        hash = ((hash << 11) | (hash >> 21)) *% PRIME1;
-    }
-
-    hash ^= hash >> 15;
-    hash *%= PRIME2;
-    hash ^= hash >> 13;
-    hash *%= PRIME3;
-    hash ^= hash >> 16;
-
-    return hash;
-}
-
-pub fn wyhash(key: []const u8) u32 {
-    return @as(u32, @truncate(std.hash.Wyhash.hash(0, key)));
-}

+ 3 - 0
makefile

@@ -6,6 +6,9 @@ run:
 build:
 	zig build-exe main.zig -O ReleaseFast --name pizzakv
 
+build-amd64:
+	zig build-exe main.zig -O ReleaseFast --name pizzakv_amd64 -lc -target x86_64-linux
+
 install: build
 	mv pizzakv /usr/local/bin/pizzakv
 

+ 0 - 15
socket.zig

@@ -36,21 +36,6 @@ pub fn readUntilCR(conn: posix.socket_t, buf: []u8) !usize {
     return total;
 }
 
-pub fn readUntilNewLine(conn: posix.socket_t, buf: []u8) !usize {
-    var pos: usize = 0;
-    while (pos < buf.len) {
-        const n = try posix.read(conn, buf[pos .. pos + 1]);
-        if (n == 0) {
-            return pos;
-        }
-        if (buf[pos] == '\n') {
-            return pos + 1;
-        }
-        pos += n;
-    }
-    return pos;
-}
-
 pub fn read(conn: posix.socket_t, buf: []u8) !usize {
     var pos: usize = 0;
     while (pos < buf.len) {