diff options
| author | 2018-01-09 00:13:11 +0530 | |
|---|---|---|
| committer | 2018-01-09 00:13:11 +0530 | |
| commit | f6fd15e088f22a90a9d3f01dd8436a507fe5febc (patch) | |
| tree | e4a7d6eaa83fb1ae769946e3efa16170a7c8dc9c | |
| parent | 77fec499cb71069e58c525f07e95de531763a933 (diff) | |
| download | nnn-f6fd15e088f22a90a9d3f01dd8436a507fe5febc.tar.gz | |
Explicitly optimize modulo ops
| -rw-r--r-- | nnn.c | 6 |
1 files changed, 2 insertions, 4 deletions
@@ -384,7 +384,7 @@ xstrlcpy(char *dest, const char *src, size_t n) s = (ulong *)src; d = (ulong *)dest; blocks = n >> _WSHIFT; - n -= (blocks << _WSHIFT); + n &= lsize - 1; while (blocks) { *d = *s; @@ -1278,7 +1278,6 @@ coolsize(off_t size) static const char * const U = "BKMGTPEZY"; static char size_buf[12]; /* Buffer to hold human readable size */ static int i; - static off_t tmp; static long double rem; static const double div_2_pow_10 = 1.0 / 1024.0; @@ -1287,9 +1286,8 @@ coolsize(off_t size) rem = 0; while (size > 1024) { - tmp = size; + rem = size & (0x3FF); /* 1024 - 1 = 0x3FF */ size >>= 10; - rem = tmp - (size << 10); ++i; } |