Hello again Julia users, Sorry for the noise today, but I have another question which a quick search didn't answer.
I am working on a function with a loop which creates an enlarged copy of the same matrix at every iteration. Let's say it looks similar to this: for i = 1:N A = zeros(BigFloat, 2^i, 2^i) # Now do something with A... end I will guess that this is bad performance-wise since Julia needs to allocate a new array at each iteration through the loop. Also, the GC needs to come along occasionally and clean up all my old, discarded arrays. Meanwhile, I have accumulated a large number of old, unused copies of A. Am I right about the performance problem? In C I would do something like this: for(i = 1; i<=N; i++) { BigFloat* Ar = malloc((2i*2^i)*sizeof(BigFloat)); /* Please forgive the obvious problem with pointers here... */ /* Here I use the array */ free(Ar); } That would release the memory at the end of each iteration, and I could allocate a new Ar at the start of the next iteration. What's the right way to do this in Julia? Is it OK to invoke a GC run at the end of each loop, or should I stop worrying and let Julia take care of memory allocation/deallocation? Thanks, Stuart