Long loading time of a 60 MB matrix

3 Ansichten (letzte 30 Tage)
Trung Ngo
Trung Ngo am 2 Jul. 2019
Kommentiert: Trung Ngo am 3 Jul. 2019
Hi all,
I am currently having a 256GB SSD with a Sequential Read of 2.5GB/s, but loading a 60MB matrix took an average of 100.3 seconds to run. Is it possible if you can check my matrix -v7.3 to suggest me a method to speed up this loading process.
Should I convert it to -v6.0?
  2 Kommentare
Akbar
Akbar am 2 Jul. 2019
What is "v7.3"? A Matlab version or what?
Trung Ngo
Trung Ngo am 2 Jul. 2019
Sorry for being unclear, it is the version 7.3 of MAT-File versionhttps://www.mathworks.com/help/matlab/import_export/mat-file-versions.html

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

per isakson
per isakson am 2 Jul. 2019
Bearbeitet: per isakson am 2 Jul. 2019
"loading a 60MB matrix took an average of 100.3 seconds"
>> tic, S=load('h:\m\cssm\110.mat'); toc
Elapsed time is 25.627453 seconds.
The variable is_land is 10GB (60MB is with compression)
>> S
S =
struct with fields:
is_land: [36023×36023 double]
x: [1×36023 double]
y: [1×36023 double]
>>
>> 36023^2*8/1e9
ans =
10.381
Only -v7.3 can handle a 10GB matrix.
However, is_land holds only zeros and ones. You may convert it to uint8 and save a factor eight. uint8 in combination with -v7.0 (or -v6.0) will be much faster.
  3 Kommentare
per isakson
per isakson am 2 Jul. 2019
No, my guess is that interp2 is reasonable fast.
Trung Ngo
Trung Ngo am 3 Jul. 2019
Thanks for your help, I will try to convert it to uint8

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Produkte


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by