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);
}