would madvise be a win or a lose on memory pressure?
From: Mike Taht <hidden>
Date: 2016-06-15 22:41:52
Doesn't seem to make sense to use MADV_RANDOM on the cache file, but maybe MADV_SEQUENTIAL on the rest...
--- /home/m/src/git-pasky-0.4/update-cache.c 2005-04-15 12:24:26.000000000 -0700
+++ update-cache.c 2005-04-15 21:53:34.000000000 -0700@@ -30,7 +30,7 @@ close(fd); if (!out || (int)(long)in == -1) return -1; - + madvise(in,size,MADV_SEQUENTIAL); memset(&stream, 0, sizeof(stream)); deflateInit(&stream, Z_BEST_COMPRESSION); --- /home/m/src/git-pasky-0.4/read-cache.c 2005-04-15
12:24:26.000000000 -0700
+++ read-cache.c 2005-04-15 22:01:12.000000000 -0700@@ -143,6 +143,7 @@ close(fd); if (-1 == (int)(long)map) return NULL; + madvise(map,st.st_size,MADV_SEQUENTIAL); *size = st.st_size; return map; }
@@ -254,6 +255,7 @@ close(fd); if (map == MAP_FAILED) return -1; + madvise(map,size,MADV_SEQUENTIAL); cmp = memcmp(buf, map, size); munmap(map, size); if (cmp)
--
Mike Taht