view time.m @ 1331:60c875c18de3 feature/D2_boundary_opt

Merge with feature/poroelastic for Elastic schemes
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Thu, 10 Mar 2022 16:54:26 +0100
parents 305d8bb366ce
children
line wrap: on
line source

function t_out = time(f, n)
    default_arg('n',1);

    if n == 1
        t = timeOnce(f);
    else
        t = timeAvg(f, n);
    end

    if nargout == 1
        t_out = t;
    else
        fprintf('Elapsed time is %.6f seconds.\n', t)
    end
end

function t = timeOnce(f)
    s = tic();

    f();

    t = toc(s);
end


function t = timeAvg(f, n)
    s = tic();

    for i = 1:n
        f();
    end

    t = toc(s)/n;
end