JorenSix/Olaf

C and JAVA algorithmus implemetation

konstantin-sancom opened this issue · 1 comments

Hi, @JorenSix

Is there a difference between C and JAVA algorithmus implemetation?
In fingerprints?
In DB sructure?
In configuration parameters?

Hi,

Conceptually they are very similar, implementation wise there are a few differences which make them not compatible. There are slight differences all parts of the system: event point detection, hashing, storage and matching.

The way this came to be is I first started with the Java implementation, then ported Java to C while also improving some aspects. I started using lmdb in the C version. Then I ported and improved the C version again to Java, resulting in the 2.0 version of Panako (which also uses lmdb). This cycle can now continue with improving the C version again perhaps with db compatibility as a 'nice to have'.