Fossil SCM
Further performance enhancements on the delta generator.
Commit
09d3e7ebf0d59ac39b44c4f319748ce96f0e45cd
Parent
dbbe320297e55cb…
1 file changed
+4
-4
+4
-4
| --- src/delta.c | ||
| +++ src/delta.c | ||
| @@ -102,12 +102,12 @@ | ||
| 102 | 102 | /* |
| 103 | 103 | ** Initialize the rolling hash using the first NHASH characters of z[] |
| 104 | 104 | */ |
| 105 | 105 | static void hash_init(hash *pHash, const char *z){ |
| 106 | 106 | u16 a, b, i; |
| 107 | - a = b = 0; | |
| 108 | - for(i=0; i<NHASH; i++){ | |
| 107 | + a = b = z[0]; | |
| 108 | + for(i=1; i<NHASH; i++){ | |
| 109 | 109 | a += z[i]; |
| 110 | 110 | b += a; |
| 111 | 111 | } |
| 112 | 112 | memcpy(pHash->z, z, NHASH); |
| 113 | 113 | pHash->a = a & 0xffff; |
| @@ -141,12 +141,12 @@ | ||
| 141 | 141 | ** hash_init(&h, zInput); |
| 142 | 142 | ** return hash_32bit(&h); |
| 143 | 143 | */ |
| 144 | 144 | static u32 hash_once(const char *z){ |
| 145 | 145 | u16 a, b, i; |
| 146 | - a = b = 0; | |
| 147 | - for(i=0; i<NHASH; i++){ | |
| 146 | + a = b = z[0]; | |
| 147 | + for(i=1; i<NHASH; i++){ | |
| 148 | 148 | a += z[i]; |
| 149 | 149 | b += a; |
| 150 | 150 | } |
| 151 | 151 | return a | (((u32)b)<<16); |
| 152 | 152 | } |
| 153 | 153 |
| --- src/delta.c | |
| +++ src/delta.c | |
| @@ -102,12 +102,12 @@ | |
| 102 | /* |
| 103 | ** Initialize the rolling hash using the first NHASH characters of z[] |
| 104 | */ |
| 105 | static void hash_init(hash *pHash, const char *z){ |
| 106 | u16 a, b, i; |
| 107 | a = b = 0; |
| 108 | for(i=0; i<NHASH; i++){ |
| 109 | a += z[i]; |
| 110 | b += a; |
| 111 | } |
| 112 | memcpy(pHash->z, z, NHASH); |
| 113 | pHash->a = a & 0xffff; |
| @@ -141,12 +141,12 @@ | |
| 141 | ** hash_init(&h, zInput); |
| 142 | ** return hash_32bit(&h); |
| 143 | */ |
| 144 | static u32 hash_once(const char *z){ |
| 145 | u16 a, b, i; |
| 146 | a = b = 0; |
| 147 | for(i=0; i<NHASH; i++){ |
| 148 | a += z[i]; |
| 149 | b += a; |
| 150 | } |
| 151 | return a | (((u32)b)<<16); |
| 152 | } |
| 153 |
| --- src/delta.c | |
| +++ src/delta.c | |
| @@ -102,12 +102,12 @@ | |
| 102 | /* |
| 103 | ** Initialize the rolling hash using the first NHASH characters of z[] |
| 104 | */ |
| 105 | static void hash_init(hash *pHash, const char *z){ |
| 106 | u16 a, b, i; |
| 107 | a = b = z[0]; |
| 108 | for(i=1; i<NHASH; i++){ |
| 109 | a += z[i]; |
| 110 | b += a; |
| 111 | } |
| 112 | memcpy(pHash->z, z, NHASH); |
| 113 | pHash->a = a & 0xffff; |
| @@ -141,12 +141,12 @@ | |
| 141 | ** hash_init(&h, zInput); |
| 142 | ** return hash_32bit(&h); |
| 143 | */ |
| 144 | static u32 hash_once(const char *z){ |
| 145 | u16 a, b, i; |
| 146 | a = b = z[0]; |
| 147 | for(i=1; i<NHASH; i++){ |
| 148 | a += z[i]; |
| 149 | b += a; |
| 150 | } |
| 151 | return a | (((u32)b)<<16); |
| 152 | } |
| 153 |