Mercurial > hg > octave-lyh
changeset 17470:f271fa40074d
runtests.m, rundemos.m: Use readdir, rather than dir, for ~700X speed-up.
* scripts/testfun/rundemos.m, scripts/testfun/runtests.m:
Use readdir, rather than dir, for ~700X speed-up.
author | Rik <rik@octave.org> |
---|---|
date | Sun, 22 Sep 2013 08:15:59 -0700 |
parents | f0ecb52097ec |
children | 9411ad1afa84 |
files | scripts/testfun/rundemos.m scripts/testfun/runtests.m |
diffstat | 2 files changed, 13 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/scripts/testfun/rundemos.m +++ b/scripts/testfun/rundemos.m @@ -64,10 +64,10 @@ endfunction function run_all_demos (directory, do_class_dirs) - flist = dir (directory); + flist = readdir (directory); dirs = {}; for i = 1:numel (flist) - f = flist(i).name; + f = flist{i}; if ((length (f) > 2 && strcmpi (f((end-1):end), ".m")) || (length (f) > 3 && strcmpi (f((end-2):end), ".cc"))) f = fullfile (directory, f); @@ -81,9 +81,11 @@ input ("Press <enter> to continue: ", "s"); endif endif - elseif (flist(i).isdir && f(1) == "@") + elseif (f(1) == "@") f = fullfile (directory, f); - dirs = {dirs{:}, f}; + if (isdir (f)) + dirs(end+1) = f; + endif endif endfor
--- a/scripts/testfun/runtests.m +++ b/scripts/testfun/runtests.m @@ -64,13 +64,13 @@ endfunction function run_all_tests (directory, do_class_dirs) - flist = dir (directory); + flist = readdir (directory); dirs = {}; no_tests = {}; printf ("Processing files in %s:\n\n", directory); fflush (stdout); for i = 1:numel (flist) - f = flist(i).name; + f = flist{i}; if ((length (f) > 2 && strcmpi (f((end-1):end), ".m")) || (length (f) > 3 && strcmpi (f((end-2):end), ".cc"))) ff = fullfile (directory, f); @@ -80,11 +80,13 @@ print_pass_fail (n, p); fflush (stdout); elseif (has_functions (ff)) - no_tests{end+1} = f; + no_tests(end+1) = f; endif - elseif (flist(i).isdir && f(1) == "@") + elseif (f(1) == "@") f = fullfile (directory, f); - dirs = {dirs{:}, f}; + if (isdir (f)) + dirs(end+1) = f; + endif endif endfor if (! isempty (no_tests))