Testing MATLAB to the limits!

MATLAB users Hello!
I need to construct 6 billion pairs of some numbers and I would like to know if there is anything that I can do to increase the performance/speed/memory of MATLAB.
I use r2012a and r2009
Thanks in advance!

2 Comments

What exactly are you going to do with all this data? It is unlikely that you will have enough RAM to load it all into memory and then do anything with it. Even saving it to a file is going to be painful.
your Matlab will give out of memory error

Sign in to comment.

 Accepted Answer

  1. use 64bit Matlab
  2. use uint8 if possible
  3. install a lot of RAM
  4. pre-allocate
  5. use the function, PROFILE
>> 6e9*2*8/1e9
ans =
96

4 Comments

loukos
loukos on 8 Aug 2012
Edited: loukos on 8 Aug 2012
what is:
6e9*2*8/1e9
ans =
96
That is "6 billion" x "pairs" x "8bytes" converted to GB.
While the data would amount to a whopping 96 Gigabytes (using uint8), since computers are binary-based you have to represent data in Gibibytes (1024^3) if you wish to store them to disk.
6e9*2*8/1024^3 = 89.407 GiB data on disk. On top of that you can expect some file overhead data, which depends on your method of storing the data. When it comes to memory, you still need 96 GB.
Not uint8, "8bytes" stands for double.

Sign in to comment.

More Answers (1)

Greg Heath
Greg Heath on 8 Aug 2012
help memory
doc memory
Pre-allocate space as much as possible.
Greg

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!