Inverted Index: Query Processing
This commit is contained in:
23
idxqry.c
23
idxqry.c
@ -54,6 +54,7 @@
|
|||||||
|
|
||||||
#ifdef NSIMD
|
#ifdef NSIMD
|
||||||
#define bitd1unpack128v32 bitd1unpack32
|
#define bitd1unpack128v32 bitd1unpack32
|
||||||
|
#define _p4d1dec128v32 _p4d1dec32
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define STATS
|
//#define STATS
|
||||||
@ -163,13 +164,13 @@ static ALWAYS_INLINE unsigned postdec(post_t *v, int bno, unsigned *dids) { if(v
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if(v->didnum > 1) {
|
if(v->didnum > 1) {
|
||||||
|
#ifdef _TURBOPFOR
|
||||||
|
//unsigned bx = *p++; p = v->didnum == 129?_p4d1dec128v32( p, 128, &dids[1], dids[0], b, bx):_p4d1dec32( p, v->didnum-1, &dids[1], dids[0], b, bx);
|
||||||
|
p = v->didnum == 129?p4d1dec128v32( p, 128, &dids[1], dids[0]):p4d1dec32( p, v->didnum-1, &dids[1], dids[0]);
|
||||||
|
#else
|
||||||
#ifndef SKIP_S
|
#ifndef SKIP_S
|
||||||
unsigned b = *p++;
|
unsigned b = *p++;
|
||||||
#endif
|
#endif
|
||||||
#ifdef _TURBOPFOR
|
|
||||||
unsigned bx = *p++;
|
|
||||||
p = v->didnum == 129?p4dd1d128v32( p, 128, &dids[1], dids[0], b, bx):p4dd1d32( p, v->didnum-1, &dids[1], dids[0], b, bx);
|
|
||||||
#else
|
|
||||||
p = v->didnum == 129?bitd1unpack128v32( p, 128, &dids[1], dids[0], b ):bitd1unpack32(p, v->didnum-1, &dids[1], dids[0], b);
|
p = v->didnum == 129?bitd1unpack128v32( p, 128, &dids[1], dids[0], b ):bitd1unpack32(p, v->didnum-1, &dids[1], dids[0], b);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -212,13 +213,12 @@ static ALWAYS_INLINE unsigned postnext(post_t *v, unsigned *dids) {
|
|||||||
v->didnum = min(v->_f_t, BLK_DIDNUM);
|
v->didnum = min(v->_f_t, BLK_DIDNUM);
|
||||||
v->_f_t -= v->didnum; //STAT(st_dec+=v->didnum);
|
v->_f_t -= v->didnum; //STAT(st_dec+=v->didnum);
|
||||||
if(v->didnum > 1) {
|
if(v->didnum > 1) {
|
||||||
|
#ifdef _TURBOPFOR
|
||||||
|
p = v->didnum == 129?p4d1dec128v32( p, 128, &dids[1], dids[0] ):p4d1dec32( p, v->didnum-1, &dids[1], dids[0]);//unsigned bx = *p++; p = v->didnum == 129?_p4d1dec128v32( p, 128, &dids[1], dids[0], b, bx):_p4d1dec32( p, v->didnum-1, &dids[1], dids[0], b, bx);
|
||||||
|
#else
|
||||||
#ifndef SKIP_S
|
#ifndef SKIP_S
|
||||||
unsigned b = *p++;
|
unsigned b = *p++;
|
||||||
#endif
|
#endif
|
||||||
#ifdef _TURBOPFOR
|
|
||||||
unsigned bx = *p++;
|
|
||||||
p = v->didnum == 129?p4dd1d128v32( p, 128, &dids[1], dids[0], b, bx):p4dd1d32( p, v->didnum-1, &dids[1], dids[0], b, bx);
|
|
||||||
#else
|
|
||||||
p = v->didnum == 129?bitd1unpack128v32( p, 128, &dids[1], dids[0], b):bitd1unpack32(p, v->didnum-1, &dids[1], dids[0], b);
|
p = v->didnum == 129?bitd1unpack128v32( p, 128, &dids[1], dids[0], b):bitd1unpack32(p, v->didnum-1, &dids[1], dids[0], b);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -264,13 +264,12 @@ static ALWAYS_INLINE unsigned postget(post_t *v, unsigned did, unsigned *dids) {
|
|||||||
dids[0] = v->did;
|
dids[0] = v->did;
|
||||||
STAT(st_dec+=v->didnum); STAT(st_decs[st_terms] += v->didnum);
|
STAT(st_dec+=v->didnum); STAT(st_decs[st_terms] += v->didnum);
|
||||||
if(v->didnum > 1) { STAT(st_blk++);
|
if(v->didnum > 1) { STAT(st_blk++);
|
||||||
|
#ifdef _TURBOPFOR
|
||||||
|
p = v->didnum == 129?p4d1dec128v32( p, 128, &dids[1], dids[0] ):p4d1dec32( p, v->didnum-1, &dids[1], dids[0]);//unsigned bx = *p++; p = v->didnum == 129?_p4d1dec128v32( p, 128, &dids[1], dids[0], b, bx):_p4d1dec32( p, v->didnum-1, &dids[1], dids[0], b, bx);
|
||||||
|
#else
|
||||||
#ifndef SKIP_S
|
#ifndef SKIP_S
|
||||||
unsigned b = *p++;
|
unsigned b = *p++;
|
||||||
#endif
|
#endif
|
||||||
#ifdef _TURBOPFOR
|
|
||||||
unsigned bx = *p++;
|
|
||||||
p = v->didnum == 129?p4d1d128v32( p, 128, &dids[1], dids[0], b, bx):p4d1d32( p, v->didnum-1, &dids[1], dids[0], b, bx);
|
|
||||||
#else
|
|
||||||
p = v->didnum == 129?bitd1unpack128v32( p, 128, &dids[1], dids[0], b):bitd1unpack32(p, v->didnum-1, &dids[1], dids[0], b);
|
p = v->didnum == 129?bitd1unpack128v32( p, 128, &dids[1], dids[0], b):bitd1unpack32(p, v->didnum-1, &dids[1], dids[0], b);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user