Table 1.
Alignment | divisions | 1 core (sec) | 2 cores (sec) | 4 cores (sec) | 8 cores (sec) | pfold (sec) |
---|---|---|---|---|---|---|
1 | 5.41 | 4.85 | 4.84 | 4.84 | ||
2 × 500 nt | 4 | 5.74 | 3.06 | 2.15 | 2.16 | 0.59 |
35 | 3.70 | 2.05 | 1.25 | 0.92 | ||
1 | 51.8 | 52.0 | 51.1 | 50.4 | ||
20 × 1000 nt | 4 | 46.6 | 27.9 | 19.0 | 19.6 | 7.3 |
35 | 35.7 | 18.3 | 9.7 | 5.8 | ||
1 | 1738 | 1640 | 1581 | 1464 | ||
30 × 3000 nt | 4 | 1476 | 878 | 642 | 632 | 368 |
35 | 842 | 424 | 217 | 123 |
The actual execution time of PPfold (including both the phylogenetic and SCFG parts) on a Dell Precision T7500 Workstation with Dual Quad Core Intel®Xeon®X5667 3.07 GHz CPU, 24 GB RAM, is shown, for alignments of different lengths, choosing different divisions, and enabling different number of cores to be used by PPfold by varying the size of the thread pool. A small number of divisions can in some circumstances result in disproportionately long runtimes, due to the higher number of extra (unnecessary) points that are present in the calculations. The algorithm is intended to be run using a high number of divisions on all architectures. For comparison, we also include the runtimes of the original pfold implementation (written in C), which suffers from underflow, making the results unreliable for alignments of these lengths.