add destructors to Hasher
Closed this issue · 5 comments
shokrof commented
Please add virtual destructor to Hasher and Destructors to all the subclass. Delete function is not working properly with kDataframe
mr-eyes commented
@shokrof Could you please attach the commands you're using for the profiling? I want to double-check before merging the updates. Thanks.
shokrof commented
add -fsanitize=address to the compiling and linking flags. and run the program
mr-eyes commented
Ok, here is the output of the compilation after adding the compiler flag.
[ 11%] Building CXX object CMakeFiles/kmerDecoder.dir/src/KD_kmers.cpp.o
In file included from /home/mabuelanin/dib-dev/kmerDecoder/include/kmerDecoder.hpp:1,
from /home/mabuelanin/dib-dev/kmerDecoder/src/KD_kmers.cpp:1:
/home/mabuelanin/dib-dev/kmerDecoder/lib/kseq/include/kseq/kseq.h:42:1: warning: inline variables are only available with ‘-std=c++17’ or ‘-std=gnu++17’
42 | inline bool delimeter_size = false;
| ^~~~~~
[ 22%] Building CXX object CMakeFiles/kmerDecoder.dir/src/kmerDecoder.cpp.o
In file included from /home/mabuelanin/dib-dev/kmerDecoder/include/kmerDecoder.hpp:1,
from /home/mabuelanin/dib-dev/kmerDecoder/src/kmerDecoder.cpp:1:
/home/mabuelanin/dib-dev/kmerDecoder/lib/kseq/include/kseq/kseq.h:42:1: warning: inline variables are only available with ‘-std=c++17’ or ‘-std=gnu++17’
42 | inline bool delimeter_size = false;
| ^~~~~~
/home/mabuelanin/dib-dev/kmerDecoder/src/kmerDecoder.cpp:42:1: warning: inline variables are only available with ‘-std=c++17’ or ‘-std=gnu++1
’
42 | inline flat_hash_map<std::tuple<enum readingModes, enum hashingModes>, bool> allowed_modes ({
| ^~~~~~
/home/mabuelanin/dib-dev/kmerDecoder/src/kmerDecoder.cpp: In static member function ‘static kmerDecoder* kmerDecoder::getInstance(readingModes, hashingModes, std::map<std::__cxx11::basic_string<char>, int>)’:
/home/mabuelanin/dib-dev/kmerDecoder/src/kmerDecoder.cpp:93:5: warning: control reaches end of non-void function [-Wreturn-type]
93 | }
| ^
[ 33%] Building CXX object CMakeFiles/kmerDecoder.dir/src/KD_skipmers.cpp.o
In file included from /home/mabuelanin/dib-dev/kmerDecoder/include/kmerDecoder.hpp:1,
from /home/mabuelanin/dib-dev/kmerDecoder/src/KD_skipmers.cpp:1:
/home/mabuelanin/dib-dev/kmerDecoder/lib/kseq/include/kseq/kseq.h:42:1: warning: inline variables are only available with ‘-std=c++17’ or ‘-std=gnu++17’
42 | inline bool delimeter_size = false;
| ^~~~~~
[ 44%] Building CXX object CMakeFiles/kmerDecoder.dir/src/KD_minimizers.cpp.o
In file included from /home/mabuelanin/dib-dev/kmerDecoder/include/kmerDecoder.hpp:1,
from /home/mabuelanin/dib-dev/kmerDecoder/src/KD_minimizers.cpp:13:
/home/mabuelanin/dib-dev/kmerDecoder/lib/kseq/include/kseq/kseq.h:42:1: warning: inline variables are only available with ‘-std=c++17’ or ‘-std=gnu++17’
42 | inline bool delimeter_size = false;
| ^~~~~~
[ 55%] Building CXX object CMakeFiles/kmerDecoder.dir/src/KD_aakmers.cpp.o
In file included from /home/mabuelanin/dib-dev/kmerDecoder/include/kmerDecoder.hpp:1,
from /home/mabuelanin/dib-dev/kmerDecoder/src/KD_aakmers.cpp:1:
/home/mabuelanin/dib-dev/kmerDecoder/lib/kseq/include/kseq/kseq.h:42:1: warning: inline variables are only available with ‘-std=c++17’ or ‘-std=gnu++17’
42 | inline bool delimeter_size = false;
| ^~~~~~
[ 66%] Building CXX object CMakeFiles/kmerDecoder.dir/src/hashUtils/aaHasher.cpp.o
[ 77%] Building CXX object CMakeFiles/kmerDecoder.dir/src/hashUtils/hashutil.cpp.o
[ 88%] Building CXX object CMakeFiles/kmerDecoder.dir/src/Utils/kmer.cpp.o
[100%] Linking CXX static library libkmerDecoder.a
[100%] Built target kmerDecoder
shokrof commented
run the program and it will add some information at the end
mr-eyes commented
Which program? the kProcessor usecase? building kProcessor? kProcessor tests? kmerDecoder tests? any executable that uses kmerDecoder that's compiled with -fsanitize=address
or a program that is compiled by the flag and uses kmerDecoder?