Fingerprint recognition is one of the most used biometric
methods for authentication. The identification of a query fingerprint requires
matching its minutiae against every minutiae of all the fingerprints
of the database. The state-of-the-art matching algorithms are costly, from
a computational point of view, and inefficient on large datasets. In this
work, we include faster methods to accelerating DMC (the most accurate
fingerprint matching algorithm based only on minutiae). In particular,
we translate into C++ the functions of the algorithm which represent the
most costly tasks of the code; we create a library with the new code and
we link the library to the original C# code using a CLR Class Library
project by means of a C++/CLI Wrapper. Our solution re-implements
critical functions, e.g., the bit population count including a fast C++
PopCount library and the use of the squared Euclidean distance for calculating
the minutiae neighborhood. The experimental results show a
significant reduction of the execution time in the optimized functions of
the matching algorithm. Finally, a novel approach to improve the matching
algorithm, considering cache memory blocking and parallel data processing,
is presented as future work.