INNER CODE UNIT · C++

skip_len

fbreitwieser/krakenuniq · src/db_sort.cpp:57

  uint64_t skip_len = input_db->header_size();
  char *header = new char[ skip_len ];
  memcpy(header, input_db_file.ptr(), skip_len);

  delete input_db;
  // No longer legit for traversal, but allows access to KDB functions
  input_db = new KrakenDB(header);
  input_db_file.close_file();  // Stop using memory-mapped file

  cerr << "db_sort: Sorting ...";
  char *data = new char[ key_ct * (Key_len + val_len) ];
  // Populate data w/ pairs from DB and sort bins in parallel
  bin_and_sort_data(*input_db, data, db_index);

  cerr << "db_sort: Sorting complete - writing database to disk ..." << endl;
  ofstream output_file(Output_DB_filename.c_str(), std::ofstream::binary);
  output_file.write(header, skip_len);
  output_file.write(data, key_ct * (Key_len + val_len));

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…