annotate +noname/benchmark.m @ 42:f121bf58c1b9

Added a function for easily benchmarking a Discretization.
author Jonatan Werpers <jonatan@werpers.com>
date Thu, 05 Nov 2015 16:08:57 -0800
parents
children 1fe783681f9f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
42
f121bf58c1b9 Added a function for easily benchmarking a Discretization.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 % animate(discretization, N, time_method)
f121bf58c1b9 Added a function for easily benchmarking a Discretization.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2 %
f121bf58c1b9 Added a function for easily benchmarking a Discretization.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3 % Example:
f121bf58c1b9 Added a function for easily benchmarking a Discretization.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
4 % benchmark(discr,100)
f121bf58c1b9 Added a function for easily benchmarking a Discretization.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5 % benchmark(discr,1000,'rk4')
f121bf58c1b9 Added a function for easily benchmarking a Discretization.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6
f121bf58c1b9 Added a function for easily benchmarking a Discretization.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7 function hand = benchmark(discretization,N ,time_method,do_profile)
f121bf58c1b9 Added a function for easily benchmarking a Discretization.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8 default_arg('N',100);
f121bf58c1b9 Added a function for easily benchmarking a Discretization.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
9 default_arg('time_method',[]);
f121bf58c1b9 Added a function for easily benchmarking a Discretization.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10
f121bf58c1b9 Added a function for easily benchmarking a Discretization.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11 fprintf('Creating time discretization');
f121bf58c1b9 Added a function for easily benchmarking a Discretization.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
12 tic
f121bf58c1b9 Added a function for easily benchmarking a Discretization.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
13 ts = discretization.getTimestepper(time_method);
f121bf58c1b9 Added a function for easily benchmarking a Discretization.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14 fprintf(' - done %fs\n', toc());
f121bf58c1b9 Added a function for easily benchmarking a Discretization.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15
f121bf58c1b9 Added a function for easily benchmarking a Discretization.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
16 if do_profile
f121bf58c1b9 Added a function for easily benchmarking a Discretization.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17 profile on
f121bf58c1b9 Added a function for easily benchmarking a Discretization.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
18 end
f121bf58c1b9 Added a function for easily benchmarking a Discretization.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
19
f121bf58c1b9 Added a function for easily benchmarking a Discretization.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
20 fprintf('Taking %d steps',N);
f121bf58c1b9 Added a function for easily benchmarking a Discretization.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
21 tic;
f121bf58c1b9 Added a function for easily benchmarking a Discretization.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
22 ts.stepN(N,true);
f121bf58c1b9 Added a function for easily benchmarking a Discretization.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
23 fprintf(' - done %fs\n', toc());
f121bf58c1b9 Added a function for easily benchmarking a Discretization.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
24
f121bf58c1b9 Added a function for easily benchmarking a Discretization.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
25 if do_profile
f121bf58c1b9 Added a function for easily benchmarking a Discretization.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
26 profile viewer
f121bf58c1b9 Added a function for easily benchmarking a Discretization.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
27 end
f121bf58c1b9 Added a function for easily benchmarking a Discretization.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
28 end