I refer to this paper: de Silva, Vin; Morozov, Dmitriy; Vejdemo-Johansson, Mikael. Dualities in persistent (co)homology. Inverse Problems 27 (2011), no. 12, 124003, 17 pp. (Journal link, arXiv link).
According to the results in the paper, especially the experiments in page 15 it shows that persistent cohomology is faster than persistent homology by a factor of around 30 to 50.
That seems quite amazing to me, considering that over fields, homology and cohomology are dual. The paper does explain the reason why, but I don't really get the key idea how it accounts for a 3000% to 5000% improvement over persistent homology.
The paper's explanation (also on pg 15) is based on the difference between row operations and column operations. Apparently, row operation is supposed to be the better one, and since persistent cohomology can use the row operation (while it is difficult for homology), it results in better results. Also, the column algorithm (the worse algorithm) has to store all dead cycles, while for the row algorithm we can delete those cycles that died.
Also, theoretically, I am curious if such wonderful optimizations can be done for persistent cohomology, why can't the same be done for the dual persistent homology? Is there any theoretical reason for the impediment in persistent homology algorithms? Ideally I would imagine that the "best persistent cohomology algorithm" would perform as well as the "best persistent homology algorithm".
Thanks for any enlightenment.