view +noname/benchmark.m @ 1120:7963a9cab637 feature/poroelastic

In RungeKuttaDiscreteData, make K and U non-sparse to improve performance by roughly a factor of 3.
author Martin Almquist <malmquist@stanford.edu>
date Tue, 07 May 2019 11:41:15 -0700
parents 1fe783681f9f
children
line wrap: on
line source

% animate(discretization, N, time_method)
%
% Example:
%      benchmark(discr,100)
%      benchmark(discr,1000,'rk4')

function hand = benchmark(discretization,N ,time_method,do_profile)
    default_arg('N',100);
    default_arg('time_method',[]);
    default_arg('do_profile',true);

    fprintf('Creating time discretization');
    tic
    ts = discretization.getTimestepper(time_method);
    fprintf(' - done  %fs\n', toc());

    if do_profile
        profile on
    end

    fprintf('Taking %d steps',N);
    tic;
    ts.stepN(N,true);
    fprintf(' - done  %fs\n', toc());

    if do_profile
        profile viewer
    end
end