Mercurial > hg > audiodb
view close.cpp @ 610:e21a3db643af
MORE MEMORY SANITY
Move the logic tracking which points have been visited already
(including the std::set datastructure) into the indexed query codepaths,
rather than inside accumulators. This has the effect of drastically
reducing the memory used in non-indexed queries, such that the working
set for a 500-file database with 100000 vectors total goes from 1.2GB to
slightly under 3MB.
All this and less code, too!
author | mas01cr |
---|---|
date | Fri, 28 Aug 2009 17:14:06 +0000 |
parents | 4eedc18634f5 |
children | b1723ae7675e |
line wrap: on
line source
extern "C" { #include "audioDB_API.h" } #include "audioDB-internals.h" void audiodb_close(adb_t *adb) { free(adb->path); free(adb->header); delete adb->keys; delete adb->keymap; delete adb->track_lengths; delete adb->track_offsets; if(adb->cached_lsh) { delete adb->cached_lsh; } divest_lock(adb->fd); close(adb->fd); free(adb); }