  We introduce giotto-ph, a high-performance, open-source software package for
the computation of Vietoris-Rips barcodes. giotto-ph is based on Morozov and
Nigmetov's lockfree (multicore) implementation of Ulrich Bauer's Ripser
package. It also contains a re-working of the GUDHI library's implementation of
Boissonnat and Pritam's Edge Collapser, which can be used as a pre-processing
step to dramatically reduce overall run-times in certain scenarios. Our
contribution is twofold: on the one hand, we integrate existing
state-of-the-art ideas coherently in a single library and provide Python
bindings to the C++ code. On the other hand, we increase parallelization
opportunities and improve overall performance by adopting more efficient data
structures. Our persistent homology backend establishes a new state of the art,
surpassing even GPU-accelerated implementations such as Ripser++ when using as
few as 5-10 CPU cores. Furthermore, our implementation of Edge Collapser has
fewer software dependencies and improved run-times relative to GUDHI's original
implementation.
