Thanks a lot Emmanuel. It works perfectly.
Amitiés, Jérémie.
----
Jérémie Bardin, Dr.

 CR2P - Centre de Recherche en Paléontologie - ParisSorbonne Université - MNHN 
- CNRS
Site Jussieu, Tour 46-56, 5°et.
4 place Jussieu, 75252 Paris Cedex 05
tel. +331.44.27.51.77.
jeremie.bar...@upmc.fr / jbar...@mnhn.fr / jeremiebar...@yahoo.fr 

    Le mercredi 23 janvier 2019 à 15:55:01 UTC+1, Emmanuel Paradis 
<emmanuel.para...@ird.fr> a écrit :  
 
 Hi Jérémie,

You're correct: the current version of write.tree() scales with n^2. 
This seems to be related to calling the generic '[[' operator. You can 
modify the code with the usual fix(write.tree), then insert these two lines:

    phy <- .uncompressTipLabel(phy)
    class(phy) <- NULL

right before the 'for' loop, save and close. You may need to use the 
modified code once or twice (with a small tree) so that R might 
byte-compile it. I've tried it with the 2027025 trees generared by 
allTrees(9,rooted=T) and it took 8.5 mins (instead of the predicted 28 
hrs with the current code).

Best,

Emmanuel

Le 23/01/2019 à 10:51, Jérémie Bardin a écrit :
> Hi all,
> I tried to export 2 millions trees to a .tre file with write.tree. This never 
> ends, thus i tried to get why and realized that the time to write the .tre 
> depends exponentially on the number of trees.
> 
> trees<-allTrees(9,rooted=T)to<-seq(10000,2000000,10000)durations<-NAfor(i in 
> 1:length(to)) { ptm <- proc.time() write.tree(trees[1:to[i]], file = 
> "test.tre") durations[i]<-(proc.time() - ptm)[3]}
> I do not really get why it is not nearly linear. Any explanation?
> Cheers, Jérémie
> ----
> Jérémie Bardin, Dr.
> 
> CR2P - Centre de Recherche en Paléontologie - ParisSorbonne Université - MNHN 
> - CNRS
> Site Jussieu, Tour 46-56, 5°et.
> 4 place Jussieu, 75252 Paris Cedex 05
> tel. +331.44.27.51.77.
> jeremie.bar...@upmc.fr / jbar...@mnhn.fr / jeremiebar...@yahoo.fr
> 
>     [[alternative HTML version deleted]]
> 
> _______________________________________________
> R-sig-phylo mailing list - R-sig-phylo@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-phylo
> Searchable archive at http://www.mail-archive.com/r-sig-phylo@r-project.org/
> 
> 
> Pour nous remonter une erreur de filtrage, veuillez vous rendre ici : 
> http://f.security-mail.net/fPLqvOj4
> 
> 
  
        [[alternative HTML version deleted]]

_______________________________________________
R-sig-phylo mailing list - R-sig-phylo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-phylo
Searchable archive at http://www.mail-archive.com/r-sig-phylo@r-project.org/

Reply via email to