Mercurial > repos > public > sbplib_julia
annotate benchmark/benchmarks.jl @ 1198:5d4a15d6118f tooling/benchmarks
Add some actual benchmarks
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Tue, 31 Jan 2023 20:40:18 +0100 |
parents | 1aca445216b8 |
children | f095c02081eb |
rev | line source |
---|---|
1171 | 1 using BenchmarkTools |
1198
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
2 using Sbplib |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
3 using Sbplib.Grids |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
4 using Sbplib.SbpOperators |
1171 | 5 |
6 const SUITE = BenchmarkGroup() | |
7 | |
1198
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
8 |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
9 sz(d) = ntuple(i->100, d) |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
10 ll(d) = ntuple(i->0., d) |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
11 lu(d) = ntuple(i->1., d) |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
12 |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
13 g1 = EquidistantGrid(sz(1),ll(1),lu(1)) |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
14 g2 = EquidistantGrid(sz(2),ll(2),lu(2)) |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
15 g3 = EquidistantGrid(sz(3),ll(3),lu(3)) |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
16 |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
17 v1 = rand(sz(1)...) |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
18 v2 = rand(sz(2)...) |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
19 v3 = rand(sz(3)...) |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
20 |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
21 u1 = rand(sz(1)...) |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
22 u2 = rand(sz(2)...) |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
23 u3 = rand(sz(3)...) |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
24 |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
25 stencil_set = read_stencil_set(joinpath(sbp_operators_path(),"standard_diagonal.toml"); order=4) |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
26 |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
27 SUITE["derivatives"] = BenchmarkGroup() |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
28 |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
29 |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
30 SUITE["derivatives"]["first_derivative"] = BenchmarkGroup() |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
31 |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
32 D₁ = first_derivative(g1,stencil_set) |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
33 SUITE["derivatives"]["first_derivative"]["1D"] = @benchmarkable $u1 .= $D₁*$v1 |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
34 |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
35 Dx = first_derivative(g2,stencil_set,1) |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
36 Dy = first_derivative(g2,stencil_set,2) |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
37 SUITE["derivatives"]["first_derivative"]["2D"] = BenchmarkGroup() |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
38 SUITE["derivatives"]["first_derivative"]["2D"]["x"] = @benchmarkable $u2 .= $Dx*$v2 |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
39 SUITE["derivatives"]["first_derivative"]["2D"]["y"] = @benchmarkable $u2 .= $Dy*$v2 |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
40 |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
41 Dx = first_derivative(g3,stencil_set,1) |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
42 Dy = first_derivative(g3,stencil_set,2) |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
43 Dz = first_derivative(g3,stencil_set,3) |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
44 SUITE["derivatives"]["first_derivative"]["3D"] = BenchmarkGroup() |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
45 SUITE["derivatives"]["first_derivative"]["3D"]["x"] = @benchmarkable $u3 .= $Dx*$v3 |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
46 SUITE["derivatives"]["first_derivative"]["3D"]["y"] = @benchmarkable $u3 .= $Dy*$v3 |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
47 SUITE["derivatives"]["first_derivative"]["3D"]["z"] = @benchmarkable $u3 .= $Dz*$v3 |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
48 |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
49 |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
50 SUITE["derivatives"]["second_derivative"] = BenchmarkGroup() |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
51 |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
52 D₁ = second_derivative(g1,stencil_set) |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
53 SUITE["derivatives"]["second_derivative"]["1D"] = @benchmarkable $u1 .= $D₁*$v1 |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
54 |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
55 Dx = second_derivative(g2,stencil_set,1) |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
56 Dy = second_derivative(g2,stencil_set,2) |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
57 SUITE["derivatives"]["second_derivative"]["2D"] = BenchmarkGroup() |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
58 SUITE["derivatives"]["second_derivative"]["2D"]["x"] = @benchmarkable $u2 .= $Dx*$v2 |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
59 SUITE["derivatives"]["second_derivative"]["2D"]["y"] = @benchmarkable $u2 .= $Dy*$v2 |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
60 |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
61 Dx = second_derivative(g3,stencil_set,1) |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
62 Dy = second_derivative(g3,stencil_set,2) |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
63 Dz = second_derivative(g3,stencil_set,3) |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
64 SUITE["derivatives"]["second_derivative"]["3D"] = BenchmarkGroup() |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
65 SUITE["derivatives"]["second_derivative"]["3D"]["x"] = @benchmarkable $u3 .= $Dx*$v3 |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
66 SUITE["derivatives"]["second_derivative"]["3D"]["y"] = @benchmarkable $u3 .= $Dy*$v3 |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
67 SUITE["derivatives"]["second_derivative"]["3D"]["z"] = @benchmarkable $u3 .= $Dz*$v3 |
5d4a15d6118f
Add some actual benchmarks
Jonatan Werpers <jonatan@werpers.com>
parents:
1190
diff
changeset
|
68 |
1171 | 69 |
70 SUITE |