I have an update on where the issue is coming from. I commented out the code for "pos[k+1] <- M[i,j]" and the if statement for time = 10^4, 10^5, 10^6, 10^7 and the storage and everything ran fast(er). Next I added back in the "pos" statements and still runtimes were good (around 20 minutes).
So I'm left with something is causing problems in: ## Store state at time 10^4, 10^5, 10^6, 10^7 if( k %in% c(10^4,10^5,10^6,10^7) ){ q <- q+1 Out[[q]] <- M } Would there be any reason R is executing the statements inside the "if" before getting to the logical check? Maybe R is written to hope for the best outcome (TRUE) and will just throw out its work if the logic comes up FALSE? I guess I can always break the for loop up into four parts and store the state at the end of each, but thats an unsatisfying solution to me. Jim, I like the suggestion of just pulling one big sample, but since I can get the runtimes under 30 minutes just by removing the storage piece I doubt I would see any noticeable changes by pulling large sample vectors. Thanks, Michael On Tue, Oct 26, 2010 at 6:22 AM, Jim Lemon <j...@bitwrit.com.au> wrote: > On 10/26/2010 04:50 PM, Michael D wrote: > >> So I'm in a stochastic simulations class and I having issues with the >> amount >> of time it takes to run the Ising model. >> >> I usually don't like to attach the code I'm running, since it will >> probably >> make me look like a fool, but I figure its the best way I can find any >> bits >> I can speed up run time. >> >> As for the goals of the exercise: >> I need the state of the system at time=1, 10k, 100k, 1mill, and 10mill >> and the percentage of vertices with positive spin at all t >> >> Just to be clear, i'm not expecting anyone to tell me how to program this >> model, cause I know what I have works for this exercise, but it takes far >> too long to run and I'd like to speed it up by replacing slow operations >> wherever possible. >> >> Hi Michael, > One bottleneck is probably the sampling. If it doesn't grab too much > memory, setting up a vector of the samples (maybe a million at a time if 10 > million is too big - might be able to rewrite your sample vector when you > store the state) and using k (and an offset if you don't have one big > vector) to index it will give you some speed. > > Jim > > [[alternative HTML version deleted]] ______________________________________________ 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.