Wow! Thanks to both Petr and Berend for this extensive help. I learned a lot not only about this specific case but about R in general from studying your answers.
The compiled version t4 seems to give the most consistently quickest results and for my case (about 6000 rows and 500 columns with a probability of the sought for outcome 0.04) I see speedups from my original of 30-40 times. See below for details. Excellent help thank you! # t1-t4 as above in thread and then compiled to t1.c-t4.c ... random_matrix <- function(nrows, ncols, probabilityOfOne) { matrix((runif(nrows*ncols)<probabilityOfOne)+0, nrow=nrows); } library(benchmark) compare.exec.times <- function(A) { benchmark(t1(A,outcome=1), t2(A,outcome=1), t3(A,outcome=1), t4(A,outcome=1), t1.c(A,outcome=1), t2.c(A,outcome=1), t3.c(A,outcome=1), t4.c(A,outcome=1), columns=c("test", "user.self", "relative"), replications=3) } compare.exec.times(random_matrix(100, 1000, 0.10)) # t4.c quickest, 47 times speedup compare.exec.times(random_matrix(1000, 100, 0.10)) # t4.c quickest, 25 times speedup compare.exec.times(random_matrix(1000, 1000, 0.10)) # t4.c quickest, 37 times speedup # Most realistic for my data: compare.exec.times(random_matrix(6000, 400, 0.04)) # t4.c quickest, 30 times speedup test user.self relative 1 t1(A, outcome = 1) 35.372 30.145038 5 t1.c(A, outcome = 1) 8.591 7.329092 2 t2(A, outcome = 1) 14.598 12.761662 6 t2.c(A, outcome = 1) 14.413 12.587786 3 t3(A, outcome = 1) 1.579 1.743851 7 t3.c(A, outcome = 1) 1.608 1.818490 4 t4(A, outcome = 1) 1.092 1.120441 8 t4.c(A, outcome = 1) 0.894 1.000000 -- View this message in context: http://r.789695.n4.nabble.com/Speeding-up-accumulation-code-in-large-matrix-calc-tp4417911p4419422.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ 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.