# HG changeset patch # User mas01cr # Date 1195492786 0 # Node ID b7400fabbb949336e8aed178c1c54b1854aacc7c # Parent f56c530750da30f82a41f3f8b31e6ea4ad7edf1e mmap dataBuf for the remaining cases * -L after insertion; * pointQuery; We'll fix these later. diff -r f56c530750da -r b7400fabbb94 audioDB.cpp --- 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;