Skip to content

Memory optimization and speedup

Daniel Doerr requested to merge memory into master

Created by: drubert

  • Many memory optimizations.
  • Removed the use of shared_ptr. It an unecessary overhead that could be easily avoided.
  • Bug fixed. It prevented the program to work properly for big files.
  • Small (negligible?) optimizations that prevent realocation of input vectors (by creating the vector with the correct final size, which we know beforehand), small optimization of AlignmentRecord (one member variable less) and preparation for further memory optimizations.
  • A lot of memory optimizations (around 40-50% faster overall, 60% faster IMP and -25% to -40% of memory use) in some preliminary tests with 1 thread.
  • A better makefile.
  • Parser rewritten, speedup of up to 60% in file reading. Added program to check block sizes, so its possible to know if we can use unsigned int or unsigned short to fit blocks. Some other code cleanup and small Makefile updates.
  • Moved parser into a class.
  • Few update in program that finds maximum block sizes and local starts.
  • Now we remove blocks of size 0 inside alignments (don't know why lastz produces them...)

Merge request reports