Hello ... I've noticed that some of our Bioconductor code was running drastically slower under current R-devel vs. current R-patched - one example is below using a ttest. I have the following snippet of code that demonstrates the problem while avoiding "real" code that takes an extremely long time to finish on R-devel: library(genefilter) data(eset) eset$cov1 z <- ttest(eset$cov1, p=0.01) gf <- filterfun(z) system.time(genefilter(eset, gf)) (this requires the genefilter & Biobase packages from Bioconductor) Using R-1.7.0p I had the following output:> data(eset) > eset$cov1[1] 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2> z <- ttest(eset$cov1, p=0.01) > gf <- filterfun(z) > system.time(genefilter(eset, gf))[1] 41.73 2.04 44.45 0.00 0.00 And using R-devel, I have:> data(eset) > eset$cov1[1] 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2> z <- ttest(eset$cov1, p=0.01) > gf <- filterfun(z) > system.time(genefilter(eset, gf))[1] 80.56 4.20 85.12 0.00 0.00 Any ideas what might be causing this? Thanks -Jeff
Are you making use of S4 classes? If so see the threads on slowness in R-patched in the last 48 hours: R-devel will be similar to R-patched was the last time a branch update was done. On Wed, 4 Jun 2003, Jeff Gentry wrote:> I've noticed that some of our Bioconductor code was running drastically > slower under current R-devel vs. current R-patched - one example is below > using a ttest. I have the following snippet of code that demonstrates the > problem while avoiding "real" code that takes an extremely long time to > finish on R-devel: > > library(genefilter) > data(eset) > eset$cov1 > z <- ttest(eset$cov1, p=0.01) > gf <- filterfun(z) > system.time(genefilter(eset, gf)) > > (this requires the genefilter & Biobase packages from Bioconductor) > > Using R-1.7.0p I had the following output:What is that? We do have 1.7.1 beta now.> > data(eset) > > eset$cov1 > [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 > > z <- ttest(eset$cov1, p=0.01) > > gf <- filterfun(z) > > system.time(genefilter(eset, gf)) > [1] 41.73 2.04 44.45 0.00 0.00 > > And using R-devel, I have: > > data(eset) > > eset$cov1 > [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 > > z <- ttest(eset$cov1, p=0.01) > > gf <- filterfun(z) > > system.time(genefilter(eset, gf)) > [1] 80.56 4.20 85.12 0.00 0.00 > > Any ideas what might be causing this? > > Thanks > -Jeff > > ______________________________________________ > R-devel@stat.math.ethz.ch mailing list > https://www.stat.math.ethz.ch/mailman/listinfo/r-devel >-- Brian D. Ripley, ripley@stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595
There was a bug leading to non-caching of methods, in the r-patched code from a few days ago. A branch update would have put the changes into R-devel also. The problem has been partly fixed in the current code committed to R-patched (and some further fixes are in the works). (Sorry, this was discussed on r-core, so didn't yet get to the r-devel list.) John Jeff Gentry wrote:> > Hello ... > > I've noticed that some of our Bioconductor code was running drastically > slower under current R-devel vs. current R-patched - one example is below > using a ttest. I have the following snippet of code that demonstrates the > problem while avoiding "real" code that takes an extremely long time to > finish on R-devel: > > library(genefilter) > data(eset) > eset$cov1 > z <- ttest(eset$cov1, p=0.01) > gf <- filterfun(z) > system.time(genefilter(eset, gf)) > > (this requires the genefilter & Biobase packages from Bioconductor) > > Using R-1.7.0p I had the following output: > > data(eset) > > eset$cov1 > [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 > > z <- ttest(eset$cov1, p=0.01) > > gf <- filterfun(z) > > system.time(genefilter(eset, gf)) > [1] 41.73 2.04 44.45 0.00 0.00 > > And using R-devel, I have: > > data(eset) > > eset$cov1 > [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 > > z <- ttest(eset$cov1, p=0.01) > > gf <- filterfun(z) > > system.time(genefilter(eset, gf)) > [1] 80.56 4.20 85.12 0.00 0.00 > > Any ideas what might be causing this? > > Thanks > -Jeff > > ______________________________________________ > R-devel@stat.math.ethz.ch mailing list > https://www.stat.math.ethz.ch/mailman/listinfo/r-devel-- John M. Chambers jmc@bell-labs.com Bell Labs, Lucent Technologies office: (908)582-2681 700 Mountain Avenue, Room 2C-282 fax: (908)582-3340 Murray Hill, NJ 07974 web: http://www.cs.bell-labs.com/~jmc
On Wed, 4 Jun 2003, John Chambers wrote:> There was a bug leading to non-caching of methods, in the r-patched code > from a few days ago. > A branch update would have put the changes into R-devel also. > The problem has been partly fixed in the current code committed to > R-patched (and some further fixes are in the works).Actually, I realized that the particular R-pached I was using was from May 23. I used my June 4th version of R-patched (aka R-1.7.1 beta) and it matches my June 4th version of R-devel, more or less:> system.time(genefilter(eset, gf))[1] 79.27 3.98 85.24 0.00 0.00 But, my 2003-05-23 version of r-patched produces a value that is roughly half of that. Not sure if that helps out at all, but the current r-patched and r-devel is definitely slower in this then it was about a week and a half ago. -J