By Bob Rudis (@hrbrmstr)
Fri 15 August 2014 | tags: r, rstats, valgrind, rcpp, dns, -- (permalink)

Thanks to a blog comment by @arj, I finally ran at least one of the new Rcpp-based through valgrind (resolv) and, sure enough there were a few memory leaks which are now fixed. However, I first ran valgind with a simple test R script that just did library(stats ...


By Bob Rudis (@hrbrmstr)
Mon 04 August 2014 | tags: r, rstats, rcpp, dns, -- (permalink)

Back in April, we showed you how to use a C resolver library to make many different kinds of DNS lookups. More oft than not, such complete functionality is not necessary, but R still only provides nsl to get an IPv4 address of a given hostname, which is woefully inadequate ...


By Bob Rudis (@hrbrmstr)
Sat 17 May 2014 | tags: rstats, r, rcpp, -- (permalink)

The previous post looked at using the Vectorize() function to, well, vectorize, our Rcpp IPv4 functions. While this is a completely acceptable practice, we can perform the vectorization 100% in Rcpp/C++. We’ve included both the original Rcpp IPv4 functions and the new Rcpp-vectorized functions together to show ...


By Bob Rudis (@hrbrmstr)
Fri 16 May 2014 | tags: rstats, r, rcpp, -- (permalink)

Our previous post showed how to speed up the conversion of IPv4 addresses to/from integer format by taking advantage of a simple Rcpp wrapper to “boosted” native functions. However, to convert more than one IP address, you need to stick those functions into one of the R *apply functions ...


By Bob Rudis (@hrbrmstr)
Wed 14 May 2014 | tags: rstats, r, rcpp, -- (permalink)

In our book we provide examples of how to convert IPv4 addresses to integer format (and back). We held ourselves to using only basic R functionality since the book had to be at an introductory level. On a fairly modern box, the ip2long function takes (roughly) 0.1s to convert ...


By Bob Rudis (@hrbrmstr)
Fri 25 April 2014 | tags: rstats, R, Rcpp, -- (permalink)

Technically this is Part 2 of Firewall-busting ASN-lookups. However, I said (in Part 1) that Part 2 would be about making a vectorized version and this is absolutely not about that. Rather than fib, I merely misdirect. Moving on…

As you can see in Part 1, we have to ...