eriksjolund / diagonalsw

C/C++ implementation of the Smith-Waterman algorithm by using SIMD operations (e.g SSE4.1)
MIT License
23 stars 2 forks source link

Remove the C source code generating machinery (XML/XSLT) #3

Open eriksjolund opened 7 years ago

eriksjolund commented 7 years ago

Currently the file src/c/CMakeLists.txt instructs CMake to generate out C source code by help of the XSLT script src/c/generate_c.xsl and the files src/c/*.xml.

Let us remove all this source code generating machinery and just use C/C++ techniques to implement something similar. Of course it is possible to just generate out the C code once and then use that as the original source code but hopefully we should be able to do better than that.

We could for instance make use of the C preprocessing machinery, inline functions or C++ templates...

Verify that the performance at runtime is not getting worse by removing the XML/XSLT source code generating machinery.

eriksjolund commented 7 years ago

A first try https://github.com/eriksjolund/diagonalsw/tree/remove_xml_xslt

There is still a lot to do, but at least this is a start. Note that currently this approach is slower (about 50 % slower).