Mercurial > octave-antonio
diff scripts/testfun/speed.m @ 16994:333243133364
Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
matrix concatenation is ~80% faster than cstrcat().
* doc/interpreter/strings.txi: Document preference for matrix concatenation
as opposed to alternatives.
* doc/interpreter/geometryimages.m, doc/interpreter/interpimages.m,
doc/interpreter/plotimages.m, doc/interpreter/sparseimages.m,
doc/interpreter/splineimages.m, scripts/general/genvarname.m,
scripts/general/int2str.m, scripts/general/num2str.m,
scripts/help/__makeinfo__.m, scripts/help/help.m,
scripts/miscellaneous/copyfile.m, scripts/miscellaneous/dir.m,
scripts/miscellaneous/edit.m, scripts/miscellaneous/fact.m,
scripts/miscellaneous/fullfile.m, scripts/miscellaneous/mkoctfile.m,
scripts/miscellaneous/movefile.m, scripts/miscellaneous/perl.m,
scripts/miscellaneous/python.m, scripts/miscellaneous/run.m,
scripts/miscellaneous/tempdir.m, scripts/miscellaneous/unpack.m,
scripts/pkg/private/configure_make.m, scripts/pkg/private/create_pkgadddel.m,
scripts/pkg/private/extract_pkg.m, scripts/pkg/private/get_description.m,
scripts/pkg/private/get_forge_pkg.m, scripts/pkg/private/getarch.m,
scripts/pkg/private/getarchprefix.m, scripts/pkg/private/install.m,
scripts/pkg/private/installed_packages.m,
scripts/pkg/private/load_packages_and_dependencies.m,
scripts/pkg/private/rebuild.m, scripts/pkg/private/repackage.m,
scripts/pkg/private/shell.m, scripts/pkg/private/uninstall.m,
scripts/plot/private/__go_draw_axes__.m, scripts/signal/spectral_adf.m,
scripts/signal/spectral_xdf.m, scripts/statistics/tests/z_test.m,
scripts/statistics/tests/z_test_2.m, scripts/strings/mat2str.m,
scripts/strings/strtok.m, scripts/testfun/__run_test_suite__.m,
scripts/testfun/assert.m, scripts/testfun/demo.m, scripts/testfun/speed.m,
scripts/testfun/test.m, test/eval-catch.tst, test/io.tst, test/try.tst: Replace
cstrcat() with matrix concatenation where possible.
author | Rik <rik@octave.org> |
---|---|
date | Wed, 17 Jul 2013 14:02:32 -0700 |
parents | 5d3a684236b0 |
children | d63878346099 |
line wrap: on
line diff
--- a/scripts/testfun/speed.m Wed Jul 17 10:09:44 2013 -0700 +++ b/scripts/testfun/speed.m Wed Jul 17 14:02:32 2013 -0700 @@ -187,14 +187,14 @@ do_display = (nargout == 0); if (do_display) - disp (cstrcat ("testing ", __f1, "\ninit: ", __init)); + disp (["testing " __f1 "\ninit: " __init]); endif ## Add semicolon closure to all code fragments in case user has not done so. - __init = cstrcat (__init, ";"); - __f1 = cstrcat (__f1, ";"); + __init(end+1) = ";"; + __f1(end+1) = ";"; if (! isempty (__f2)) - __f2 = cstrcat (__f2, ";"); + __f2(end+1) = ";"; endif ## Make sure the functions are freshly loaded by evaluating them at @@ -217,19 +217,19 @@ fflush (stdout); endif - eval (cstrcat ("__t = time();", __f1, "__v1=ans; __t = time()-__t;")); + eval (["__t = time();" __f1 "__v1=ans; __t = time()-__t;"]); if (__t < 0.25) - eval (cstrcat ("__t2 = time();", __f1, "__t2 = time()-__t2;")); - eval (cstrcat ("__t3 = time();", __f1, "__t3 = time()-__t3;")); + eval (["__t2 = time();" __f1 "__t2 = time()-__t2;"]); + eval (["__t3 = time();" __f1 "__t3 = time()-__t3;"]); __t = min ([__t, __t2, __t3]); endif __tnew(k) = __t; if (! isempty (__f2)) - eval (cstrcat ("__t = time();", __f2, "__v2=ans; __t = time()-__t;")); + eval (["__t = time();" __f2 "__v2=ans; __t = time()-__t;"]); if (__t < 0.25) - eval (cstrcat ("__t2 = time();", __f2, "__t2 = time()-__t2;")); - eval (cstrcat ("__t3 = time();", __f2, "__t3 = time()-__t3;")); + eval (["__t2 = time();" __f2 "__t2 = time()-__t2;"]); + eval (["__t3 = time();" __f2 "__t3 = time()-__t3;"]); __t = min ([__t, __t2, __t3]); endif __torig(k) = __t; @@ -280,27 +280,25 @@ loglog (__test_n, __tnew*1000, "*-g;execution time;"); xlabel ("test length"); ylabel ("best execution time (ms)"); - title ({__f1, cstrcat("init: ", __init)}); + title ({__f1, ["init: " __init]}); elseif (do_display) subplot (1, 2, 1); semilogx (__test_n, __torig./__tnew, - cstrcat ("-*r;", strrep (__f1, ";", "."), " / ", - strrep (__f2, ";", "."), ";"), - __test_n, __tnew./__torig, - cstrcat ("-*g;", strrep (__f2, ";", "."), " / ", - strrep (__f1, ";", "."), ";")); + ["-*r;" strrep(__f1, ";", ".") " / " strrep(__f2, ";", ".") ";"], + __test_n, __tnew./__torig, + ["-*g;", strrep(__f2, ";", ".") " / " strrep(__f1, ";", ".") ";"]); title ("Speedup Ratio"); xlabel ("test length"); ylabel ("speedup ratio"); subplot (1, 2, 2); loglog (__test_n, __tnew*1000, - cstrcat ("*-g;", strrep (__f1, ";", "."), ";"), + ["*-g;" strrep(__f1,";",".") ";"], __test_n, __torig*1000, - cstrcat ("*-r;", strrep (__f2,";","."), ";")); - title ({"Execution Times", cstrcat("init: ", __init)}); + ["*-r;" strrep(__f2,";",".") ";"]); + title ({"Execution Times", ["init: " __init]}); xlabel ("test length"); ylabel ("best execution time (ms)");