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.

Talevich et al. BMC Bioinformatics 2012 13:209   doi:10.1186/1471-2105-13-209

Open Data