annotate benchmark/benchmarks.jl @ 1174:50c31500eb97 tooling/benchmarks

Clean up run_and_view
author Jonatan Werpers <jonatan@werpers.com>
date Wed, 25 Jan 2023 13:22:51 +0100
parents 34446df5733f
children 3e4db8cf1d92
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1171
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 using BenchmarkTools
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2 using Random
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
4 const SUITE = BenchmarkGroup()
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6 SUITE["utf8"] = BenchmarkGroup(["string", "unicode"])
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7 teststr = String(join(rand(MersenneTwister(1), 'a':'d', 10^4)))
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8 SUITE["utf8"]["replace"] = @benchmarkable replace($teststr, "a" => "b")
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
9 SUITE["utf8"]["join"] = @benchmarkable join($teststr, $teststr)
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10 SUITE["utf8"]["plots"] = BenchmarkGroup()
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
12 SUITE["trigonometry"] = BenchmarkGroup(["math", "triangles"])
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
13 SUITE["trigonometry"]["circular"] = BenchmarkGroup()
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14 for f in (sin, cos, tan)
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15 for x in (0.0, pi)
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
16 SUITE["trigonometry"]["circular"][string(f), x] = @benchmarkable ($f)($x)
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17 end
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
18 end
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
19
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
20 SUITE["trigonometry"]["hyperbolic"] = BenchmarkGroup()
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
21 for f in (sin, cos, tan)
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
22 for x in (0.0, pi)
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
23 SUITE["trigonometry"]["hyperbolic"][string(f), x] = @benchmarkable ($f)($x)
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
24 end
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
25 end
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
26
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
27 SUITE
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
28
1172
34446df5733f Add run_and_view script
Jonatan Werpers <jonatan@werpers.com>
parents: 1171
diff changeset
29 # TODO: Add mercurial version of benchmarkpkg
1171
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
30 # TODO: Make it easy to compare different commits. (A simple script?)
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
31
87bc91def1ff Start setting things up
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
32 # Should set HGPLAIN before script use. Example: `HGPLAIN= hg st`
1174
50c31500eb97 Clean up run_and_view
Jonatan Werpers <jonatan@werpers.com>
parents: 1172
diff changeset
33 # `hg id` for getting the revision
50c31500eb97 Clean up run_and_view
Jonatan Werpers <jonatan@werpers.com>
parents: 1172
diff changeset
34 # `hg update --check` for updating, requires a clean working directory.