|
1 | 1 | module TestArithmetic
|
2 | 2 |
|
3 | 3 | using Test
|
| 4 | +import BenchmarkTools: @belapsed |
4 | 5 | using CategoricalDistributions
|
5 | 6 | using StableRNGs
|
6 | 7 | rng = StableRNG(123)
|
7 | 8 |
|
| 9 | +macro belapsed1(ex) |
| 10 | + :(@belapsed $ex seconds=1 evals=1) |
| 11 | +end |
| 12 | + |
8 | 13 | L = ["yes", "no"]
|
9 | 14 | d1 = UnivariateFinite(L, rand(rng, 2), pool=missing)
|
10 | 15 | d2 = UnivariateFinite(L, rand(rng, 2), pool=missing)
|
@@ -46,27 +51,27 @@ fast = UnivariateFinite(L, P, pool=missing);
|
46 | 51 |
|
47 | 52 | @testset "performant arithmetic for UnivariateFiniteArray" begin
|
48 | 53 | @test pdf(slow + slow, L) == pdf(fast + fast, L)
|
49 |
| - t_slow = @elapsed @eval slow + slow |
50 |
| - t_fast = @elapsed @eval fast + fast |
| 54 | + t_slow = @belapsed1 $slow + $slow |
| 55 | + t_fast = @belapsed1 $fast + $fast |
51 | 56 | @test t_slow/t_fast > 10
|
52 | 57 |
|
53 | 58 | @test pdf(slow - slow, L) == pdf(fast - fast, L)
|
54 |
| - t_slow = @elapsed @eval slow - slow |
55 |
| - t_fast = @elapsed @eval fast - fast |
| 59 | + t_slow = @belapsed1 $slow - $slow |
| 60 | + t_fast = @belapsed1 $fast - $fast |
56 | 61 | @test t_slow/t_fast > 10
|
57 | 62 |
|
58 | 63 | @test pdf(42*slow, L) == pdf(42*fast, L)
|
59 | 64 | @test pdf(slow*42, L) == pdf(fast*42, L)
|
60 |
| - t_slow = @elapsed @eval 42*slow |
61 |
| - t_fast = @elapsed @eval 42*fast |
| 65 | + t_slow = @belapsed1 42*$slow |
| 66 | + t_fast = @belapsed1 42*$fast |
62 | 67 | @test t_slow/t_fast > 10
|
63 |
| - t_slow = @elapsed @eval slow*42 |
64 |
| - t_fast = @elapsed @eval fast*42 |
| 68 | + t_slow = @belapsed1 $slow*42 |
| 69 | + t_fast = @belapsed1 $fast*42 |
65 | 70 | @test t_slow/t_fast > 10
|
66 | 71 |
|
67 | 72 | @test pdf(slow/42, L) == pdf(fast/42, L)
|
68 |
| - t_slow = @elapsed @eval slow/42 |
69 |
| - t_fast = @elapsed @eval fast/42 |
| 73 | + t_slow = @belapsed1 $slow/42 |
| 74 | + t_fast = @belapsed1 $fast/42 |
70 | 75 | @test t_slow/t_fast > 10
|
71 | 76 | end
|
72 | 77 |
|
|
0 commit comments