// WARNING: SetCapacity can get called before Init() void nsMemoryCacheDevice::SetCapacity(PRInt32 capacity) { PRInt32 hardLimit = capacity * 1024; // convert k into bytes PRInt32 softLimit = (hardLimit * 9) / 10; AdjustMemoryLimits(softLimit, hardLimit); }
// WARNING: SetCapacity can get called before Init() void nsMemoryCacheDevice::SetCapacity(int32_t capacity) { int32_t hardLimit = capacity * 1024; // convert k into bytes int32_t softLimit = (hardLimit * 9) / 10; AdjustMemoryLimits(softLimit, hardLimit); }
//---------------------------------------------------------------------------------- bool TrKMclass::Process() { if(!initialized) return false; if(!AdjustMemoryLimits()) return false; //w1.startTimer(); //// Create monitors mm = new CMemoryMonitor(max_mem_size); //bo = new CBinOrdering(n_bins); //// Create queues int n_splitters_read = 1; pkmer = new CPartKMERQueue(max_mem_seqKMER); // wczytany plik z kmerami // ---------------------------------- kmers ------------- //new ----------------- bin_kmers = new CBinKmers_all_new(n_splitters, kmer_len, num_kmer, max_mem_binsKMER); w_splittersKMER.resize(n_splitters); for(int i = 0; i < n_splitters; ++i) { w_splittersKMER[i] = new CWKmersSplitter_new(mm, pkmer, bin_kmers, kmer_len, prefix_len); //wstawianie kmerow do koszy gr2.create_thread(boost::ref(*w_splittersKMER[i])); } w_kmers = new CWKmersReader(mm, data_file_name, kmers_buffer_size, pkmer, kmer_len, bin_kmers->fun_start_prefix()); gr1.create_thread(boost::ref(*w_kmers)); gr1.join_all(); // read kmers gr2.join_all(); // split kmers delete w_kmers; for(int i = 0; i < n_splitters; ++i) { delete w_splittersKMER[i]; } //w1.stopTimer(); cout << "\n"; //w2.startTimer(); SaveOutFile(); // ---------------------------------------------------- //delete pread; delete pkmer; delete bin_kmers; //delete bpq; //delete bd; //delete bq; //delete kq; //w2.stopTimer(); return true; }