Apart from speed, the most important advantage of R6 over ref classes is that's it easy to subclass a class defined in package A in package B. This is currently difficult with ref classes because of the way it does scoping. (And I think it's difficult to fix without fundamentally changing how ref classes work)
Hadley On Mon, Jun 22, 2015 at 8:49 AM, Michael Lawrence <lawrence.mich...@gene.com> wrote: > (Moved to R-devel) > > Niek, > > Would you please provide the details on this test case, including your > benchmarks, and what you are trying to achieve at the high-level? > > Thanks, > Michael > > > > > On Wed, Jun 17, 2015 at 4:55 AM, Niek Bouman <niek.bou...@keygene.com> wrote: >> Dear R-core team, >> >> I was wondering whether you have any plans to improve the current >> implementation of reference classes. >> >> Background: >> For a new project we will have many mutable objects, and we therefore want >> to use a construction like reference classes in this project. However, we >> observed that the speed performance of our implementation (using reference >> classes) for a simple test case is rather poor compared to a non-OOP >> implementation. Further, turning the reference classes into R6classes (using >> the R6 package) gave the best performance. As speed is an issue in our >> project, this would for us be an important reason to use R6 classes instead >> of reference classes. The drawback, of course, is that the R6 package is >> developed by a single developer and that further development is therefore >> less certain than if we would use reference classes, which are in the core. >> Ideally we would like a system like R6 in the core of R. Are you planning to >> support R6, or improve reference classes to be on par with (or better than) >> R6 in terms of speed, in the core? >> >> Best regards, >> Niek >> >> Keygene N.V. | P.O. Box 216 | 6700 AE Wageningen | The Netherlands >> T (+31) 317 46 68 66 | F (+31) 317 42 49 39 | CoC. 09066631 | >> http://www.keygene.com<http://www.keygene.com/> >> >> >> [http://www.keygene.com/images/keygenegeneral.jpg]<http://www.keygene.com> >> >> Stay up-to-date! Subscribe to our bimonthly newsletter >> here<http://www.keygene.com/newsletter> >> >> [http://www.keygene.com/images/linkedin-grey.png]<https://www.linkedin.com/company/63753?trk=tyah&trkInfo=tarId%3A1422354182032%2Ctas%3Akeygene%2Cidx%3A3-1-3> >> [http://www.keygene.com/images/twitter-grey.png] >> <https://twitter.com/KeyGeneInfo> >> [http://www.keygene.com/images/facebook-grey.png] >> <https://www.facebook.com/KeyGeneWageningen> >> >> The information contained in this message, and attachments if any, may be >> privileged and/or confidential and is intended to be received only by persons >> entitled to receive such information. Use of any part of this message and/or >> its attachments if any, in any other way than as explicitly stated by the >> sender is strictly prohibited. Should you receive this >> message unintentionally please notify the sender immediately, and delete it >> together with all attachments, if any. Thank you. The transmission of >> messages and/or information via the Internet is not >> secured and may be intercepted by third parties. KeyGene assumes no >> liability for any damage caused by any unintentional disclosure and/or use >> of the content of this message and attachments if any. >> >> >> [[alternative HTML version deleted]] >> >> _______________________________________________ >> R-core list: https://stat.ethz.ch/mailman/listinfo/r-core > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel -- http://had.co.nz/ ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel