content buffer directly as vectorIndex

This commit is contained in:
lion
2022-06-23 14:52:39 +08:00
parent ca6b26c53a
commit 9659a920e9
3 changed files with 2 additions and 34 deletions

View File

@@ -133,7 +133,7 @@ class XdbSearcher
// read the segment index
$buff = $this->read($p, self::SegmentIndexSize);
if ($buff == null) {
throw new Exception("failed to read segment index at ${$p}");
throw new Exception("failed to read segment index at ${p}");
}
$sip = self::getLong($buff, 0);
@@ -296,16 +296,6 @@ class XdbSearcher
return self::loadVectorIndex($handle);
}
// load vector index from the specified buffer
public static function loadVectorIndexFromBuff($cBuff) {
$len = self::VectorIndexRows * self::VectorIndexCols * self::SegmentIndexSize;
if (strlen($cBuff) < (self::HeaderInfoLength + $len)) {
return null;
}
return substr($cBuff, self::HeaderInfoLength, $len);
}
// load the xdb content from a file handle
public static function loadContent($handle) {
if (fseek($handle, 0, SEEK_END) == -1) {

View File

@@ -171,4 +171,4 @@ fclose($handle);
$searcher->close();
$cost = XdbSearcher::now() - $sTime;
printf("Bench finished, {cachePolicy: %s, total: %d, took: %ds, cost: %.3f ms/op}\n",
$cachePolicy, $count, $cost/1000, $cost/$count);
$cachePolicy, $count, $cost/1000, $cost/$count);

View File

@@ -29,22 +29,6 @@ function testLoadVectorIndex() {
printf("vector index loaded: length=%d\n", strlen($vIndex));
}
function testLoadVectorIndexFromBuff() {
$cBuff = XdbSearcher::loadContentFromFile('../../data/ip2region.xdb');
if ($cBuff == null) {
printf("failed to load content from file\n");
return;
}
$vIndex = XdbSearcher::loadVectorIndexFromBuff($cBuff);
if ($vIndex == null) {
printf("failed to load content from file\n");
return;
}
printf("vector index loaded, length=%d\n", strlen($vIndex));
}
function testLoadContent() {
$cBuff = XdbSearcher::loadContentFromFile('../../data/ip2region.xdb');
if ($cBuff == null) {
@@ -67,12 +51,6 @@ testLoadVectorIndex();
printf("done, cost: %0.5f ms\n\n", XdbSearcher::now() - $now);
printf("testing loadVectorIndexFromBuff ... \n");
$now = XdbSearcher::now();
testLoadVectorIndexFromBuff();
printf("done, cost: %0.5f ms\n\n", XdbSearcher::now() - $now);
printf("testing loadContent ... \n");
$now = XdbSearcher::now();
testLoadContent();