library("microbenchmark") n <- 3*10**5 microbenchmark( a <- runif(n), b <- rnorm(n) ) f <- function(v) { return(list( sum(v==max(v)),which(v==max(v)) )) } # fin de fonction f g <- function(v) { maxv <- max(v) return(list( sum(v==maxv), which(v==maxv) )) } # fin de fonction g v <- runif(10**6) microbenchmark( v <- runif(10**6), f(v) , g(v) ) # fin de microbenchmark