Memory issue in IMP : memory block assigned to 2D array

Hi
I was following the following thread
http://forums.electricimp.com/discussion/comment/16551#Comment_16551
I thought of using the same, but I have following concern
I have a sample size of say 30000 bytes. I’m sure its difficult to allot continous memory locations for it, so if I create a 2D array of say 10x3000, will this memory allocation be continous or discreate based upon memory available in IMP?

First off, Squirrel arrays are rather inefficient when storing bytes. Each array entry takes up 8 bytes, so you can’t get 30,000 of them into the available memory on an imp. For keeping 30,000 bytes’ worth of samples, you should use Squirrel’s blob type.

Each blob is a single contiguous memory allocation. So yes, allocating an array of 10 blobs, each 3,000 bytes long, is much more likely to succeed than allocating a single blob 30,000 bytes long. Though even the single-blob method will work if you allocate just one at startup, and then never de-allocate or re-allocate it.

Peter