@@ -5,20 +5,20 @@ Pkg.develop(; path=joinpath(@__DIR__, ".."))
5
5
using DynamicPPLBenchmarks: Models, make_suite, model_dimension
6
6
using BenchmarkTools: @benchmark , median, run
7
7
using PrettyTables: PrettyTables, ft_printf
8
- using Random : seed!
8
+ using StableRNGs : StableRNG
9
9
10
- seed! (23 )
10
+ rng = StableRNG (23 )
11
11
12
12
# Create DynamicPPL.Model instances to run benchmarks on.
13
- smorgasbord_instance = Models. smorgasbord (randn (100 ), randn (100 ))
13
+ smorgasbord_instance = Models. smorgasbord (randn (rng, 100 ), randn (rng, 100 ))
14
14
loop_univariate1k, multivariate1k = begin
15
- data_1k = randn (1_000 )
15
+ data_1k = randn (rng, 1_000 )
16
16
loop = Models. loop_univariate (length (data_1k)) | (; o= data_1k)
17
17
multi = Models. multivariate (length (data_1k)) | (; o= data_1k)
18
18
loop, multi
19
19
end
20
20
loop_univariate10k, multivariate10k = begin
21
- data_10k = randn (10_000 )
21
+ data_10k = randn (rng, 10_000 )
22
22
loop = Models. loop_univariate (length (data_10k)) | (; o= data_10k)
23
23
multi = Models. multivariate (length (data_10k)) | (; o= data_10k)
24
24
loop, multi
34
34
chosen_combinations = [
35
35
(
36
36
" Simple assume observe" ,
37
- Models. simple_assume_observe (randn ()),
37
+ Models. simple_assume_observe (randn (rng )),
38
38
:typed ,
39
39
:forwarddiff ,
40
40
false ,
@@ -50,14 +50,14 @@ chosen_combinations = [
50
50
(" Loop univariate 10k" , loop_univariate10k, :typed , :mooncake , true ),
51
51
(" Multivariate 10k" , multivariate10k, :typed , :mooncake , true ),
52
52
(" Dynamic" , Models. dynamic (), :typed , :mooncake , true ),
53
- (" Submodel" , Models. parent (randn ()), :typed , :mooncake , true ),
53
+ (" Submodel" , Models. parent (randn (rng )), :typed , :mooncake , true ),
54
54
(" LDA" , lda_instance, :typed , :reversediff , true ),
55
55
]
56
56
57
57
# Time running a model-like function that does not use DynamicPPL, as a reference point.
58
58
# Eval timings will be relative to this.
59
59
reference_time = begin
60
- obs = randn ()
60
+ obs = randn (rng )
61
61
median (@benchmark Models. simple_assume_observe_non_model (obs)). time
62
62
end
63
63
0 commit comments