Mercurial > hg > audiodb
changeset 191:b7400fabbb94 no-big-mmap
mmap dataBuf for the remaining cases
* -L after insertion;
* pointQuery;
We'll fix these later.
author | mas01cr |
---|---|
date | Mon, 19 Nov 2007 17:19:46 +0000 |
parents | f56c530750da |
children | 5f3d260ba71d |
files | audioDB.cpp |
diffstat | 1 files changed, 12 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/audioDB.cpp Fri Nov 16 18:21:37 2007 +0000 +++ b/audioDB.cpp Mon Nov 19 17:19:46 2007 +0000 @@ -493,7 +493,16 @@ } CHECKED_MMAP(char *, fileTable, dbH->fileTableOffset, fileTableLength); CHECKED_MMAP(unsigned *, trackTable, dbH->trackTableOffset, trackTableLength); - CHECKED_MMAP(double *, dataBuf, dbH->dataOffset, dataBufLength); + /* + * No more mmap() for dataBuf + * + * FIXME: Actually we do do the mmap() in the two cases where it's + * still "needed": in pointQuery and in l2norm if dbH->length is + * non-zero. Removing those cases too (and deleting the dataBuf + * variable completely) would be cool. -- CSR, 2007-11-19 + * + * CHECKED_MMAP(double *, dataBuf, dbH->dataOffset, dataBufLength); + */ CHECKED_MMAP(double *, timesTable, dbH->timesTableOffset, timesTableLength); CHECKED_MMAP(double *, l2normTable, dbH->l2normTableOffset, l2normTableLength); } @@ -1041,6 +1050,7 @@ initTables(dbName, 0); if(dbH->length>0){ unsigned numVectors = dbH->length/(sizeof(double)*dbH->dim); + CHECKED_MMAP(double *, dataBuf, dbH->dataOffset, dataBufLength); unitNormAndInsertL2(dataBuf, dbH->dim, numVectors, 0); // No append } // Update database flags @@ -1087,6 +1097,7 @@ unsigned numVectors = (statbuf.st_size-sizeof(int))/(sizeof(double)*dbH->dim); double* query = (double*)(indata+sizeof(int)); + CHECKED_MMAP(double *, dataBuf, dbH->dataOffset, dataBufLength); double* data = dataBuf; double* queryCopy = 0;