On 3 Jan 2012, at 16:29, Jan Marten Simons wrote:
Ok, so if I want to do many (writing) operations on sclices of the miller array it would be best to copy/convert it into a numpy array first, so I don't have the overhead of the individual copy operations then.
No, write operations are done directly on the array on which you use the slicing notation: grild[1:2, :] = flex.double(...) will incur the memory allocation of the right-hand side but then there is no extra temporary array involved. My point was just that in: for x in grid[1:2, :]: .... there is the allocation and initialisation of a temporary array that holds the slice. In numpy, grid[1:2,:] would behave like an iterator in this context and there would be no temporary array. Luc