Hi Gregor, On 9 January 2012 at 12:46, Gregor Kastner wrote: | Thanks for the reply, Dirk. | | > | I.e., is there a way to reproduce the following R code with Rcpp | > (without | using loops)? | > | | > | r <- c(1,11,111) | > | index <- c(2,2,1) | > | r[index] | > | > That was just discussed _yesterday_ on this list. | > | > And no, I don't think it is. Would be nice -- patches welcome. | | I have caught up on older discussions - sorry, I just joined recently. Given | my limited knowledge, the latest discussion about the convolution, and the | digging I have been doing, I came up with the following rule of thumb. Am I | right / do you agree? | | Use native C/C++ data structures within loops whenever possible, paying | attention to the "natural" storage order of objects if applicable.
That's almost too strong for me on the side of tuning. As a first rule, go with Rcpp defaults, and Rcpp sugar if applicable. Correctness first. If profiling reveals bottlenecks, consider tricks as pointer / iterator access. | Alternatively, use iterators or pay the - application dependent - price of | operator overloading as discussed in your JSS article. They are generally neglible, but there are times when they are seemingly not. I don't think we ever really got back to Darren who found something odd a few months ago (all discussed here on list). | At the current point of development, "syntactic sugar indexing" can only be | used for _assignment_ of a certain (consecutive) range, but not for | extraction. Yes, there is no Indexing class on top of the vectors at this point. | Thanks for the comments and for this great piece of software. Glad you like it! Dirk -- "Outside of a dog, a book is a man's best friend. Inside of a dog, it is too dark to read." -- Groucho Marx _______________________________________________ Rcpp-devel mailing list Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel