@@ -27,6 +27,42 @@ def test_vs_lombscargle():
27
27
assert_allclose (scipy_power , licu_power )
28
28
29
29
30
+ @pytest .mark .parametrize (
31
+ "grid_name, freqs" ,
32
+ [("np.linspace" , np .linspace (1.0 , 100.0 , 100_000 )), ("np.geomspace" , np .geomspace (1.0 , 100.0 , 100_000 ))],
33
+ )
34
+ def test_benchmark_periodogram_rust (benchmark , grid_name , freqs ):
35
+ benchmark .group = f"periodogram_freqs={ grid_name } "
36
+ benchmark .name = "rust"
37
+
38
+ rng = np .random .default_rng (0 )
39
+ n = 100
40
+
41
+ t = np .sort (rng .normal (0 , 1 , n ))
42
+ m = np .sin (12.3 * t ) + 0.2 * rng .normal (0 , 1 , n )
43
+
44
+ fe = Periodogram (freqs = freqs , fast = False )
45
+ benchmark (fe .freq_power , t , m )
46
+
47
+
48
+ @pytest .mark .parametrize (
49
+ "grid_name, freqs" ,
50
+ [("np.linspace" , np .linspace (1.0 , 100.0 , 100_000 )), ("np.geomspace" , np .geomspace (1.0 , 100.0 , 100_000 ))],
51
+ )
52
+ def test_benchmark_periodogram_scipy (benchmark , grid_name , freqs ):
53
+ benchmark .group = f"periodogram_freqs={ grid_name } "
54
+ benchmark .name = "scipy"
55
+
56
+ rng = np .random .default_rng (0 )
57
+ n = 100
58
+
59
+ t = np .sort (rng .normal (0 , 1 , n ))
60
+ m = np .sin (12.3 * t ) + 0.2 * rng .normal (0 , 1 , n )
61
+ y = (m - m .mean ()) / m .std (ddof = 1 )
62
+
63
+ benchmark (lombscargle , t , y , freqs , precenter = True , normalize = False )
64
+
65
+
30
66
def test_different_freq_grids ():
31
67
rng = np .random .default_rng (None )
32
68
0 commit comments