help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Slow Processing Issue


From: siko1056
Subject: Re: Slow Processing Issue
Date: Wed, 12 Jul 2017 05:16:40 -0700 (PDT)

Fritz Sonnichsen wrote
> I have a very simple script shown below. I am processing a small 
> file-about 50,000 lines of 60 bytes each. The file loads just fine but 
> the "for" loop takes around 15 minutes on a laptop that generally does 
> not have performance issues. I recall that early versions of matlab had 
> some type of "file reallocation" recommendation to speed things up.
>    Should Octave be able to do this script in a reasonable amount of time?
>    Am I doing anything wrong here?
> 
> Thanks
> Fritz
> 
> =================================================================
> 1;
> clear all
>    workfile  = fileread 
> ('C:\Users\fsonnichsen\Desktop\conduct\minicom.cap');
>    workfile = strsplit (workfile, "\n");
>    disp("WORKFILE LOADED");fflush(stdout);
>    for i = 1:length(workfile)
>      Clog(i,:) = strtrim (strsplit (workfile{i}, ","));
>      %if mod(i,1000)==0 display(i); fflush(stdout);end;
>    endfor

Hello Fritz,

Did you give the approach from Francesco Potortì [1], using textread, a try?
Otherwise you could try to pre-allocate the cell-array Clog of my adapted
example:

> more off # instead of fflush, why are you using fflush anyway??
> clear all
> workfile = fileread ('C:\Users\fsonnichsen\Desktop\conduct\minicom.cap');
> workfile = strsplit (workfile, "\n");
> disp("WORKFILE LOADED");
>
> # pre-allocation
> N = length(workfile);
> Clog = cell (N,4);
>
> for i = 1:N
>  Clog(i,:) = strtrim (strsplit (workfile{i}, ","));
>  %if mod(i,1000)==0 display(i); end;
> endfor

HTH,
Kai

[1]:
http://octave.1599824.n4.nabble.com/Loading-Files-with-mixed-text-and-numbers-td4684044.html#a4684050



--
View this message in context: 
http://octave.1599824.n4.nabble.com/Slow-Processing-Issue-tp4684086p4684088.html
Sent from the Octave - General mailing list archive at Nabble.com.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]