Barry - thank you, that is exactly what I had in mind (but had
no knowledge on how to do)

Martin - I am glad to see your interest in this. Should I now start
following the R-devel so to know how this is being handled ?

Barry and Martin, your posts made me smile, thank you both :)

Tal




On Thu, Jul 30, 2009 at 12:49 PM, Martin Maechler <
maechler@stat.math.ethz.ch> wrote:

> >>>>> Barry Rowlingson <b.rowlingson@lancaster.ac.uk>
> >>>>>     on Thu, 30 Jul 2009 09:59:47 +0100 writes:
>
>    > 2009/7/30 Uwe Ligges <ligges@statistik.tu-dortmund.de>:
>    >> Hard to lee, you have to try out, I fear.
>    >>
>    >> The speed you see highly depends on the connection from your country
> to
>    >> others, but of course, there are also some mirrors that are not the
> fastest
>    >> themselves.
>
>    > I figured you could write a function that got the CRAN mirror list and
>    > tested their response. Here's my 'cranometer':
>
>    > cranometer <- function(ms = getCRANmirrors(all = FALSE, local.only =
> FALSE)){
>
>    > dest = tempfile()
>
>    > nms = dim(ms)[1]
>    > ms$t = rep(NA,nms)
>    > for(i in 1:nms){
>    > m = ms[i,]
>    > url = paste(m$URL,"/src/base/NEWS",sep="")
>    > t = try(system.time(download.file(url,dest),gcFirst=TRUE))
>    > if(file.exists(dest)){
>    > file.remove(dest)
>    > ms$t[i]=t['elapsed']
>    > }else{
>    > ms$t[i]=NA
>    > }
>    > }
>    > return(ms)
>    > }
>
>    > It works by downloading the latest NEWS file (376Kbytes at the
>    > moment, so not huge) from each of the mirror sites in the CRAN mirrors
>    > list. If you want to test it on a subset then call getCRANmirrors
>    > yourself and subset it somehow.
>
>    > I'm running it now on the full CRAN list and I've yet to find a
>    > timeout or error so I'm not sure what will happen if download.file
>    > fails. It retuns a data frame like you get from getCRANmirrors but
>    > with an extra 't' column giving the elapsed time to get the NEWS file.
>
>    > CAVEATS: if your network has any local caching then these results
>    > will be wrong, since your computer will probably be getting the
>    > locally cached NEWS file and not the one on the server. Especially if
>    > you run it twice. Oh, I should have put cacheOK=FALSE in the
>    > download.file - but even that might get overruled somewhere. Also,
>    > sites may have good days and bad days, good minutes and bad minutes,
>    > your network may be congested on a short-term basis, etc etc.
>
>    > Other ideas: how about combining the CRAN list with my geonames
>    > package to work out distances from where you are to the CRAN site? I
>    > might write that later if I get a minute...
>
> Yes!  And visualize the corresponding  "nearest neigbourhood"
> for each CRAN mirror on a world map
> and make this dynamically refreshing every few minutes
> and put it on a webserver so people can watch the "CRAN world"
> in real time!
>
> More seriously, it would be really cool if a "robust" version of
> cranometer() could be used automagically in the (typical /
> default) case of install.packages() {and it's call from the
> Windows (or also Mac?) 'Packages' menu} when the user / site
> have no CRAN repository specified:
> It would choose the CRAN mirror which is closest,
> or even better (and more appropriate for a statistics software),
> would chose one at random, but with probability inversely
> proportional to (a power of ?) the "distance".
>
> ... yes, we should defer this  from R-help to  R-devel ..
>
> Martin
>
> ______________________________________________
> R-help@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>



-- 
----------------------------------------------


My contact information:
Tal Galili
Phone number: 972-50-3373767
FaceBook: Tal Galili
My Blogs:
http://www.r-statistics.com/
http://www.talgalili.com
http://www.biostatistics.co.il

	[[alternative HTML version deleted]]


