Fossil SCM

Further performance enhancements on the delta generator.

drh 2015-12-27 21:02 trunk
Commit 09d3e7ebf0d59ac39b44c4f319748ce96f0e45cd
1 file changed +4 -4
+4 -4
--- src/delta.c
+++ src/delta.c
@@ -102,12 +102,12 @@
102102
/*
103103
** Initialize the rolling hash using the first NHASH characters of z[]
104104
*/
105105
static void hash_init(hash *pHash, const char *z){
106106
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++){
109109
a += z[i];
110110
b += a;
111111
}
112112
memcpy(pHash->z, z, NHASH);
113113
pHash->a = a & 0xffff;
@@ -141,12 +141,12 @@
141141
** hash_init(&h, zInput);
142142
** return hash_32bit(&h);
143143
*/
144144
static u32 hash_once(const char *z){
145145
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++){
148148
a += z[i];
149149
b += a;
150150
}
151151
return a | (((u32)b)<<16);
152152
}
153153
--- 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

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button