Table 2 |
||||
| Performance | ||||
| Task | Input tree | Python 2.7 | Python 3.2 | PyPy 1.9 |
| Read a very large Newick tree | Smith 2011 angiosperm supertree | |||
| (55473 terminal nodes) [38] | 17.45 | 16.85 | 1.214 | |
| Read the same large tree in phyloXML | Smith 2011, converted to phyloXML with | |||
| phylo_converter (http://phylosoft.org/ webcite) | 3.805 | 4.318 | 3.937 | |
| Write the same large tree as Newick | Smith 2011 | 0.5238 | 0.7704 | 0.4378 |
| Write the same large tree as phyloXML | Smith 2011 | 10.39 | 10.85 | 24.17 |
| Read a medium-sized Newick tree | Davies 2004 angiosperm supertree | |||
| (440 terminal nodes) [39] | 0.1097 | 0.1087 | 0.007312 | |
| Parse many Newick trees | Davies 2004, copies rerooted at | |||
| each node (816 trees) | 84.91 | 84.29 | 6.812 | |
| Reroot at each node | Davies 2004 | 1.347 | 1.167 | 0.3450 |
| Collapse all splits with bootstrap values less than 50 | Davies 2004 | 2.266 | 2.312 | 2.411 |
| Total branch length | Davies 2004 | 0.01322 | 0.01310 | 0.01448 |
| Ladderize the tree | Davies 2004 | 0.1274 | 0.1190 | 0.1127 |
| Count terminal nodes | Davies 2004 | 0.006838 | 0.006323 | 0.005914 |
Performance of Bio.Phylo functions and tree methods under different Python versions on several benchmark tasks. Reported execution times are the median of 101 replications of each task, in seconds (Additional file 2). Benchmarks were evaluated with Python versions 2.7.3 and 3.2.3 and PyPy version 1.9 on an Intel Xeon E5405 2.00 GHz processor with 8 GB memory, running under 64-bit Ubuntu Linux 12.04 with Biopython 1.60 installed.
Talevich et al. BMC Bioinformatics 2012 13:209 doi:10.1186/1471-2105-13-209