pyerrors/tests/benchmark_test.py

48 lines
1.1 KiB
Python

import numpy as np
import pyerrors as pe
import pytest
np.random.seed(0)
length = 1000
def mul(x, y):
return x * y
def test_b_mul(benchmark):
my_obs = pe.Obs([np.random.rand(length)], ['t1'])
benchmark(mul, my_obs, my_obs)
def test_b_cmul(benchmark):
my_obs = pe.CObs(pe.Obs([np.random.rand(length)], ['t1']),
pe.Obs([np.random.rand(length)], ['t1']))
benchmark(mul, my_obs, my_obs)
def test_b_matmul(benchmark):
dim = 4
my_list = []
for i in range(dim ** 2):
my_list.append(pe.Obs([np.random.rand(length)], ['t1']))
my_array = np.array(my_list).reshape((dim, dim))
benchmark(pe.linalg.matmul, my_array, my_array)
def test_b_cmatmul(benchmark):
dim = 4
my_list = []
for i in range(dim ** 2):
my_list.append(pe.CObs(pe.Obs([np.random.rand(length)], ['t1']),
pe.Obs([np.random.rand(length)], ['t1'])))
my_array = np.array(my_list).reshape((dim, dim))
benchmark(pe.linalg.matmul, my_array, my_array)
def test_b_gamma(benchmark):
my_obs = pe.Obs([np.random.rand(length)], ['t1'])
benchmark(my_obs.gamma_method)