Could of requests: 1) Is there any example or writeup on the difficulties of extending reference classes across packages? Just so I can fully understand the issues.
2) In what sorts of situations does the performance of reference classes cause problems? Sure, it's an order of magnitude slower than constructing a simple environment, but those timings are in microseconds, so one would need a thousand objects before it started to be noticeable. Some motivating use cases would help. Thanks, Michael On Mon, Jun 22, 2015 at 7:06 AM, Hadley Wickham <h.wick...@gmail.com> wrote: > 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