Textscan vs importdata
Show older comments
Hi,
I though textscan was faster than importdata but it seems to me that for bigger file importdata is faster. Any explanations?
Here is the code :
tic
raw1=importdata('185mo.csv');
toc
tic
fid = fopen('185mo.csv');
raw2 = textscan(fid, '%f %f %f', 'delimiter', ',', ...
'EmptyValue', -NaN,'HeaderLines',16);
fclose(fid);
toc
Here is the result :
Elapsed time is 30.462402 seconds.
Elapsed time is 38.665811 seconds.
4 Comments
Oleg Komarov
on 14 Feb 2012
Consider that importdata uses textscan. I would suggest to go in debug mode to check what options they use, but I suspect it's the NaN padding.
Walter Roberson
on 14 Feb 2012
Interesting, I did not know that -NaN had a different representation than NaN, but it seems to (in R2008b at least)
>> sprintf('%16lx\n',typecast(nan,'uint64'))
ans =
fff8000000000000
>> sprintf('%16lx\n',typecast(-nan,'uint64'))
ans =
7ff8000000000000
Benoit
on 14 Feb 2012
Answers (1)
xiangsheng guan
on 9 Jul 2012
0 votes
I find that importdata uses fread for .txt files. But I can access neither source file of fread nor textscan.
Categories
Find more on Basic Domains in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!