Vectorization
system.time ( { x.mx <- matrix (data = rand.nv, ncol = 2, nrow = len.n) x1.nv <- apply (x.mx, 1, sum) } ) # user system elapsed # 0.878 0.012 0.885 system.time ( { x.mx <- matrix (data = rand.nv, ncol = 2, nrow = len.n) x2.nv <- numeric () for (i in 1: 10^5) {x2.nv[i] <- sum (x.mx[i, ])} } ) # user system elapsed # 20.527 44.616 64.834 system.time ( { x.mx <- matrix (data = rand.nv, ncol = 2, nrow = len.n) i.ls <- as.list (1: len.n) f.sum <- function (i.n, x.mx) {return (sum (x.mx[i.n, ]))} x3.nv <- sapply (i.ls, f.sum, x.mx) } ) # user system elapsed # 0.573 0.014 0.584