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 个评论

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

请先登录,再进行评论。

 采纳的回答

  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 个评论

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.

请先登录,再进行评论。

更多回答(1 个)

Greg Heath
Greg Heath 2012-8-8

0 个投票

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

类别

帮助中心File Exchange 中查找有关 Workspace Variables and MAT Files 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by