John Chambers wrote: > A revision of r-devel 2.4.0 is being committed today with changes to > method and class management. > > The changes are internal but extensive. All packages that use S4 > methods and classes need to be reinstalled from source to use the new > version. > A footnote on this. ALL packages need to be reinstalled--including stats4 in the R source. Otherwise that package will fail when used in the tests. I was bitten by this myself today.
Advice from members of r-core more expert in the innards, suggests that the best thing to do is make clean in the directory where you are building R, if you have previously built R there, before making the new version of R. > The main effects are to speed up method caching and dispatch, and to fix > some problems with selecting inherited methods. The new design is also > cleaner, so we can experiment more easily in the future with changes for > efficiency or semantics. > > The change will mostly be noticeable in attaching packages with many > methods. The CPU time for attaching package Matrix, for example, goes > down by about a factor of 7 compared to R 2.3.1, timed on a Mac G5. > > The other major change is that now _all_ inherited methods are examined > and one of the closest matches is chosen. The old selection took the > first candidate found, so the current version is better defined, and > will also let us experiment with various tuning & strategies. > > There is a draft paper describing method selection at > http://developer.r-project.org/howMethodsWork.pdf > (It's a document in progress, so go back in a few days for a revised > version.) > > If a package uses inheritance for method selection with multiple > arguments, there may well be changes in behavior. We found examples in > both methods itself and in Matrix that needed attention. > > John > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel