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 Commenti

Daniel Shub
Daniel Shub il 9 Ago 2012
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.
Yash
Yash il 9 Ago 2012
your Matlab will give out of memory error

Accedi per commentare.

 Risposta accettata

per isakson
per isakson il 8 Ago 2012
  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 Commenti

loukos
loukos il 8 Ago 2012
Modificato: loukos il 8 Ago 2012
what is:
6e9*2*8/1e9
ans =
96
per isakson
per isakson il 8 Ago 2012
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.
per isakson
per isakson il 9 Ago 2012
Not uint8, "8bytes" stands for double.

Accedi per commentare.

Più risposte (1)

Greg Heath
Greg Heath il 8 Ago 2012

0 voti

help memory
doc memory
Pre-allocate space as much as possible.
Greg

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by