diff --git a/benchmarks/adapters/test_regrid.py b/benchmarks/adapters/test_regrid.py index ecb5add2d98572cf214d5cc7eb93610aecc7ee33..e35bb9f2213af78a1ef17b992f7b5d30a7b23352 100644 --- a/benchmarks/adapters/test_regrid.py +++ b/benchmarks/adapters/test_regrid.py @@ -13,7 +13,7 @@ class TestRegrid(unittest.TestCase): def setup_adapter(self, grid1, grid2, adapter): time = dt.datetime(2000, 1, 1) - self.data = fm.data.full(1.0, "test", fm.Info(time=time, grid=grid1)) + self.data = fm.data.full(1.0, fm.Info(time=time, grid=grid1)) self.source = fm.modules.CallbackGenerator( callbacks={"Step": (lambda t: self.data, fm.Info(None, grid=grid1))}, diff --git a/benchmarks/data/test_tools.py b/benchmarks/data/test_tools.py index 4bf066aa11f1ffefaed1d70d4d560834c23f6a00..dcb818b26527da8dfd18123b54a4395d35fb4570 100644 --- a/benchmarks/data/test_tools.py +++ b/benchmarks/data/test_tools.py @@ -29,15 +29,15 @@ class TestCheckXarray(unittest.TestCase): def test_check_xarray_01_2x1(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2, 1)), units="m") - xdata = full(0.0, "test", info) - _result = self.benchmark(check, xdata=xdata, name="test", info=info) + xdata = full(0.0, info) + _result = self.benchmark(check, xdata=xdata, info=info) @pytest.mark.benchmark(group="data-tools") def test_check_xarray_02_512x256(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((512, 256)), units="m") - xdata = full(0.0, "test", info) - _result = self.benchmark(check, xdata=xdata, name="test", info=info) + xdata = full(0.0, info) + _result = self.benchmark(check, xdata=xdata, info=info) class TestToXarray(unittest.TestCase): @@ -45,116 +45,57 @@ class TestToXarray(unittest.TestCase): def setupBenchmark(self, benchmark): self.benchmark = benchmark - def copy_xarray_to_xarray(self, data, info): - return to_xarray(data.copy(), name="data", info=info) - def copy_numpy_to_xarray(self, data, info): - return to_xarray(np.copy(data), name="data", info=info) + return to_xarray(np.copy(data), info=info) @pytest.mark.benchmark(group="data-tools") def test_to_xarray_np_01_2x1(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2, 1)), units="m") - xdata = full(0.0, "test", info) - data = strip_data(xdata) - _result = self.benchmark(to_xarray, data=data, name="test", info=info) + xdata = full(0.0, info) + _result = self.benchmark(to_xarray, data=xdata, info=info) @pytest.mark.benchmark(group="data-tools") def test_to_xarray_np_02_512x256(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((512, 256)), units="m") - xdata = full(0.0, "test", info) - data = strip_data(xdata) - _result = self.benchmark(to_xarray, data=data, name="test", info=info) + xdata = full(0.0, info) + _result = self.benchmark(to_xarray, data=xdata, info=info) @pytest.mark.benchmark(group="data-tools") def test_to_xarray_np_03_2048x1024(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2048, 1024)), units="m") - xdata = full(0.0, "test", info) - data = strip_data(xdata) - _result = self.benchmark(to_xarray, data=data, name="test", info=info) + xdata = full(0.0, info) + _result = self.benchmark(to_xarray, data=xdata, info=info) @pytest.mark.benchmark(group="data-tools-slow") def test_cp_to_xarray_np_01_2x1(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2, 1)), units="m") - xdata = full(0.0, "test", info) - data = strip_data(xdata) - _result = self.benchmark(self.copy_numpy_to_xarray, data=data, info=info) + xdata = full(0.0, info) + _result = self.benchmark(self.copy_numpy_to_xarray, data=xdata, info=info) @pytest.mark.benchmark(group="data-tools-slow") def test_cp_to_xarray_np_02_512x256(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((512, 256)), units="m") - xdata = full(0.0, "test", info) - data = strip_data(xdata) - _result = self.benchmark(self.copy_numpy_to_xarray, data=data, info=info) + xdata = full(0.0, info) + _result = self.benchmark(self.copy_numpy_to_xarray, data=xdata, info=info) @pytest.mark.benchmark(group="data-tools-slow") def test_cp_to_xarray_np_03_1024x512(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((1024, 512)), units="m") - xdata = full(0.0, "test", info) - data = strip_data(xdata) - _result = self.benchmark(self.copy_numpy_to_xarray, data=data, info=info) + xdata = full(0.0, info) + _result = self.benchmark(self.copy_numpy_to_xarray, data=xdata, info=info) @pytest.mark.benchmark(group="data-tools-slow") def test_cp_to_xarray_np_04_2048x1024(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2048, 1024)), units="m") - xdata = full(0.0, "test", info) - data = strip_data(xdata) - _result = self.benchmark(self.copy_numpy_to_xarray, data=data, info=info) - - @pytest.mark.benchmark(group="data-tools") - def test_to_xarray_xr_01_2x1(self): - time = dt.datetime(2000, 1, 1) - info = fm.Info(time=time, grid=fm.UniformGrid((2, 1)), units="m") - xdata = full(0.0, "test", info) - _result = self.benchmark(to_xarray, data=xdata, name="test", info=info) - - @pytest.mark.benchmark(group="data-tools") - def test_to_xarray_xr_02_512x256(self): - time = dt.datetime(2000, 1, 1) - info = fm.Info(time=time, grid=fm.UniformGrid((512, 256)), units="m") - xdata = full(0.0, "test", info) - _result = self.benchmark(to_xarray, data=xdata, name="test", info=info) - - @pytest.mark.benchmark(group="data-tools") - def test_to_xarray_xr_03_2048x1024(self): - time = dt.datetime(2000, 1, 1) - info = fm.Info(time=time, grid=fm.UniformGrid((2048, 1024)), units="m") - xdata = full(0.0, "test", info) - _result = self.benchmark(to_xarray, data=xdata, name="test", info=info) - - @pytest.mark.benchmark(group="data-tools-slow") - def test_cp_to_xarray_xr_01_2x1(self): - time = dt.datetime(2000, 1, 1) - info = fm.Info(time=time, grid=fm.UniformGrid((2, 1)), units="m") - xdata = full(0.0, "test", info) - _result = self.benchmark(self.copy_xarray_to_xarray, data=xdata, info=info) - - @pytest.mark.benchmark(group="data-tools-slow") - def test_cp_to_xarray_xr_02_512x256(self): - time = dt.datetime(2000, 1, 1) - info = fm.Info(time=time, grid=fm.UniformGrid((512, 256)), units="m") - xdata = full(0.0, "test", info) - _result = self.benchmark(self.copy_xarray_to_xarray, data=xdata, info=info) - - @pytest.mark.benchmark(group="data-tools-slow") - def test_cp_to_xarray_xr_03_1024x512(self): - time = dt.datetime(2000, 1, 1) - info = fm.Info(time=time, grid=fm.UniformGrid((1024, 512)), units="m") - xdata = full(0.0, "test", info) - _result = self.benchmark(self.copy_xarray_to_xarray, data=xdata, info=info) - - @pytest.mark.benchmark(group="data-tools-slow") - def test_cp_to_xarray_xr_04_2048x1024(self): - time = dt.datetime(2000, 1, 1) - info = fm.Info(time=time, grid=fm.UniformGrid((2048, 1024)), units="m") - xdata = full(0.0, "test", info) - _result = self.benchmark(self.copy_xarray_to_xarray, data=xdata, info=info) + xdata = full(0.0, info) + _result = self.benchmark(self.copy_numpy_to_xarray, data=xdata, info=info) class TestFull(unittest.TestCase): @@ -166,19 +107,19 @@ class TestFull(unittest.TestCase): def test_full_01_2x1(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2, 1)), units="m") - _result = self.benchmark(full, value=0.0, name="test", info=info) + _result = self.benchmark(full, value=0.0, info=info) @pytest.mark.benchmark(group="data-tools-slow") def test_full_02_512x256(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((512, 256)), units="m") - _result = self.benchmark(full, value=0.0, name="test", info=info) + _result = self.benchmark(full, value=0.0, info=info) @pytest.mark.benchmark(group="data-tools-slow") def test_full_03_2048x1024(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2048, 1024)), units="m") - _result = self.benchmark(full, value=0.0, name="test", info=info) + _result = self.benchmark(full, value=0.0, info=info) class TestFullLike(unittest.TestCase): @@ -190,21 +131,21 @@ class TestFullLike(unittest.TestCase): def test_full_like_01_2x1(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2, 1)), units="m") - xdata = full(0.0, "test", info) + xdata = full(0.0, info) _result = self.benchmark(full_like, xdata=xdata, value=0.0) @pytest.mark.benchmark(group="data-tools-slow") def test_full_like_02_512x256(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((512, 256)), units="m") - xdata = full(0.0, "test", info) + xdata = full(0.0, info) _result = self.benchmark(full_like, xdata=xdata, value=0.0) @pytest.mark.benchmark(group="data-tools-slow") def test_full_like_03_2048x1024(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2048, 1024)), units="m") - xdata = full(0.0, "test", info) + xdata = full(0.0, info) _result = self.benchmark(full_like, xdata=xdata, value=0.0) @@ -217,8 +158,8 @@ class TestTimeTools(unittest.TestCase): def test_strip_time(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2, 1)), units="m") - xdata = full(0.0, "test", info) - _result = self.benchmark(strip_time, xdata=xdata) + xdata = full(0.0, info) + _result = self.benchmark(strip_time, xdata=xdata, grid=info.grid) class TestUnitsTools(unittest.TestCase): @@ -230,21 +171,21 @@ class TestUnitsTools(unittest.TestCase): def test_get_units(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2, 1)), units="m") - xdata = full(0.0, "test", info) + xdata = full(0.0, info) _result = self.benchmark(get_units, xdata=xdata) @pytest.mark.benchmark(group="data-tools") def test_is_quantified(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2, 1)), units="m") - xdata = full(0.0, "test", info) + xdata = full(0.0, info) _result = self.benchmark(is_quantified, xdata=xdata) @pytest.mark.benchmark(group="data-tools") def test_equivalent_units_true(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2, 1)), units="mm") - xdata = full(0.0, "test", info) + xdata = full(0.0, info) result = self.benchmark(equivalent_units, unit1=xdata, unit2="L/m^2") self.assertTrue(result) @@ -252,7 +193,7 @@ class TestUnitsTools(unittest.TestCase): def test_equivalent_units_false(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2, 1)), units="mm") - xdata = full(0.0, "test", info) + xdata = full(0.0, info) result = self.benchmark(equivalent_units, unit1=xdata, unit2="m") self.assertFalse(result) @@ -260,68 +201,68 @@ class TestUnitsTools(unittest.TestCase): def test_compatible_units(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2, 1)), units="mm") - xdata = full(0.0, "test", info) + xdata = full(0.0, info) _result = self.benchmark(compatible_units, unit1=xdata, unit2="km") @pytest.mark.benchmark(group="data-tools-slow") def test_to_units_01_2x1(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2, 1)), units="m") - xdata = full(0.0, "test", info) + xdata = full(0.0, info) _result = self.benchmark(to_units, xdata=xdata, units="in") @pytest.mark.benchmark(group="data-tools-slow") def test_to_units_02_512x256(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((512, 256)), units="m") - xdata = full(0.0, "test", info) + xdata = full(0.0, info) _result = self.benchmark(to_units, xdata=xdata, units="in") @pytest.mark.benchmark(group="data-tools-slow") def test_to_units_03_2048x1024(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2048, 1024)), units="m") - xdata = full(0.0, "test", info) + xdata = full(0.0, info) _result = self.benchmark(to_units, xdata=xdata, units="in") @pytest.mark.benchmark(group="data-tools") def test_to_units_noop_01_2x1(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2, 1)), units="m") - xdata = full(0.0, "test", info) + xdata = full(0.0, info) _result = self.benchmark(to_units, xdata=xdata, units="m") @pytest.mark.benchmark(group="data-tools") def test_to_units_noop_02_512x256(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((512, 256)), units="m") - xdata = full(0.0, "test", info) + xdata = full(0.0, info) _result = self.benchmark(to_units, xdata=xdata, units="m") @pytest.mark.benchmark(group="data-tools") def test_to_units_noop_03_2048x1024(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2048, 1024)), units="m") - xdata = full(0.0, "test", info) + xdata = full(0.0, info) _result = self.benchmark(to_units, xdata=xdata, units="m") @pytest.mark.benchmark(group="data-tools") def test_get_magnitude_01_2x1(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2, 1)), units="m") - xdata = full(0.0, "test", info) + xdata = full(0.0, info) _result = self.benchmark(get_magnitude, xdata=xdata) @pytest.mark.benchmark(group="data-tools") def test_get_magnitude_02_512x256(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((512, 256)), units="m") - xdata = full(0.0, "test", info) + xdata = full(0.0, info) _result = self.benchmark(get_magnitude, xdata=xdata) @pytest.mark.benchmark(group="data-tools") def test_get_magnitude_03_2048x1024(self): time = dt.datetime(2000, 1, 1) info = fm.Info(time=time, grid=fm.UniformGrid((2048, 1024)), units="m") - xdata = full(0.0, "test", info) + xdata = full(0.0, info) _result = self.benchmark(get_magnitude, xdata=xdata) diff --git a/benchmarks/profiling/simple_numpy.py b/benchmarks/profiling/simple_numpy.py index 5e0f58d4912771cac317af2c7389a44dbda32a2c..6027e7d0e9bfe647b741e09af96025a8d3aa519e 100644 --- a/benchmarks/profiling/simple_numpy.py +++ b/benchmarks/profiling/simple_numpy.py @@ -25,8 +25,8 @@ def run_model(): info1 = fm.Info(time=None, grid=fm.UniformGrid(size), units="m") info2 = fm.Info(time=None, grid=fm.UniformGrid(size), units="m") data = [ - fm.data.strip_data(fm.data.full(0.0, "input", info1)), - fm.data.strip_data(fm.data.full(0.0, "input", info1)), + fm.data.full(0.0, info1), + fm.data.full(0.0, info1), ] def gen_data(t): diff --git a/benchmarks/profiling/simple_xarray.py b/benchmarks/profiling/simple_xarray.py deleted file mode 100644 index 23ed62b87706eb6d055e315b16ca81569b43e252..0000000000000000000000000000000000000000 --- a/benchmarks/profiling/simple_xarray.py +++ /dev/null @@ -1,73 +0,0 @@ -"""Simple coupling setup for profiling. - -Two components, coupled via a single link. - -Simulation runs for 1 year with a daily step in both components. -Components exchange a 128x64 uniform grid. -""" -import cProfile -import datetime as dt -import io -import pstats -import sys - -import finam as fm - - -def run_model(): - start_time = dt.datetime(2000, 1, 1) - end_time = dt.datetime(2000, 12, 31) - - counter = 0 - - size = (128, 64) - - info1 = fm.Info(time=None, grid=fm.UniformGrid(size), units="m") - info2 = fm.Info(time=None, grid=fm.UniformGrid(size), units="m") - data = [ - fm.data.full(0.0, "input", info1), - fm.data.full(0.0, "input", info1), - ] - - def gen_data(t): - nonlocal counter - d = data[counter % 2] - counter += 1 - return d - - source = fm.modules.CallbackGenerator( - callbacks={"Out": (gen_data, info1.copy())}, - start=start_time, - step=dt.timedelta(days=1), - ) - sink = fm.modules.DebugConsumer( - inputs={ - "In": info2.copy(), - }, - start=start_time, - step=dt.timedelta(days=1), - ) - - composition = fm.Composition([source, sink]) - composition.initialize() - - source["Out"] >> sink["In"] - - composition.run(end_time=end_time) - - -def run_model_multi(n): - for _ in range(n): - run_model() - - -if __name__ == "__main__": - pr = cProfile.Profile() - pr.enable() - - run_model_multi(10) - - pr.disable() - s = io.StringIO() - ps = pstats.Stats(pr, stream=s).sort_stats(pstats.SortKey.CUMULATIVE) - ps.dump_stats(sys.argv[1]) diff --git a/benchmarks/run/test_run.py b/benchmarks/run/test_run.py index ebba97ae786c747c9b23ff4ce8b8f8225912ca65..26c56b1df094208a8f2d218a25d41397938f6295 100644 --- a/benchmarks/run/test_run.py +++ b/benchmarks/run/test_run.py @@ -19,16 +19,11 @@ class SimpleRunBase(unittest.TestCase): self.counter += 1 return d - def gen_data_copy_numpy(self, t): + def gen_data_copy(self, t): d = self.data[self.counter % 2] self.counter += 1 return np.copy(d) - def gen_data_copy_xarray(self, t): - d = self.data[self.counter % 2] - self.counter += 1 - return d.copy() - def run_simulation(self, gen_func): source = fm.modules.CallbackGenerator( callbacks={"Out": (gen_func, self.info1.copy())}, @@ -64,8 +59,8 @@ class TestSimpleRun(SimpleRunBase): self.info1 = fm.Info(time=None, grid=fm.UniformGrid(size), units="m") self.info2 = fm.Info(time=None, grid=fm.UniformGrid(size), units="m") self.data = [ - fm.data.full(0.0, "input", self.info1), - fm.data.full(0.0, "input", self.info1), + fm.data.full(0.0, self.info1), + fm.data.full(0.0, self.info1), ] @pytest.mark.benchmark(group="run-sim") @@ -110,8 +105,8 @@ class TestSimpleRunUnits(SimpleRunBase): self.info1 = fm.Info(time=None, grid=fm.UniformGrid(size), units="m") self.info2 = fm.Info(time=None, grid=fm.UniformGrid(size), units="km") self.data = [ - fm.data.full(0.0, "input", self.info1), - fm.data.full(0.0, "input", self.info1), + fm.data.full(0.0, self.info1), + fm.data.full(0.0, self.info1), ] @pytest.mark.benchmark(group="run-sim") @@ -147,52 +142,6 @@ class TestSimpleRunUnits(SimpleRunBase): self.run_test(2048, 1024, self.gen_data) -class TestSimpleRunNumpy(SimpleRunBase): - @pytest.fixture(autouse=True) - def setupBenchmark(self, benchmark): - self.setup(benchmark) - - def setup_data(self, size): - self.info1 = fm.Info(time=None, grid=fm.UniformGrid(size), units="m") - self.info2 = fm.Info(time=None, grid=fm.UniformGrid(size), units="m") - self.data = [ - fm.data.strip_data(fm.data.full(0.0, "input", self.info1)), - fm.data.strip_data(fm.data.full(0.0, "input", self.info1)), - ] - - @pytest.mark.benchmark(group="run-sim") - def test_run_numpy_01_2x1(self): - self.run_test(2, 1, self.gen_data) - - @pytest.mark.benchmark(group="run-sim") - def test_run_numpy_02_32x16(self): - self.run_test(32, 16, self.gen_data) - - @pytest.mark.benchmark(group="run-sim") - def test_run_numpy_03_64x32(self): - self.run_test(64, 32, self.gen_data) - - @pytest.mark.benchmark(group="run-sim") - def test_run_numpy_04_128x64(self): - self.run_test(128, 64, self.gen_data) - - @pytest.mark.benchmark(group="run-sim") - def test_run_numpy_05_256x128(self): - self.run_test(256, 128, self.gen_data) - - @pytest.mark.benchmark(group="run-sim") - def test_run_numpy_06_512x256(self): - self.run_test(512, 256, self.gen_data) - - @pytest.mark.benchmark(group="run-sim") - def test_run_numpy_07_1024x512(self): - self.run_test(1024, 512, self.gen_data) - - @pytest.mark.benchmark(group="run-sim") - def test_run_numpy_08_2048x1024(self): - self.run_test(2048, 1024, self.gen_data) - - class TestSimpleRunCopy(SimpleRunBase): @pytest.fixture(autouse=True) def setupBenchmark(self, benchmark): @@ -202,84 +151,38 @@ class TestSimpleRunCopy(SimpleRunBase): self.info1 = fm.Info(time=None, grid=fm.UniformGrid(size), units="m") self.info2 = fm.Info(time=None, grid=fm.UniformGrid(size), units="m") self.data = [ - fm.data.full(0.0, "input", self.info1), - fm.data.full(0.0, "input", self.info1), + fm.data.full(0.0, self.info1), + fm.data.full(0.0, self.info1), ] @pytest.mark.benchmark(group="run-sim") def test_run_simple_cp_01_2x1(self): - self.run_test(2, 1, self.gen_data_copy_xarray) + self.run_test(2, 1, self.gen_data_copy) @pytest.mark.benchmark(group="run-sim") def test_run_simple_cp_02_32x16(self): - self.run_test(32, 16, self.gen_data_copy_xarray) + self.run_test(32, 16, self.gen_data_copy) @pytest.mark.benchmark(group="run-sim") def test_run_simple_cp_03_64x32(self): - self.run_test(64, 32, self.gen_data_copy_xarray) + self.run_test(64, 32, self.gen_data_copy) @pytest.mark.benchmark(group="run-sim") def test_run_simple_cp_04_128x64(self): - self.run_test(128, 64, self.gen_data_copy_xarray) + self.run_test(128, 64, self.gen_data_copy) @pytest.mark.benchmark(group="run-sim") def test_run_simple_cp_05_256x128(self): - self.run_test(256, 128, self.gen_data_copy_xarray) + self.run_test(256, 128, self.gen_data_copy) @pytest.mark.benchmark(group="run-sim") def test_run_simple_cp_06_512x256(self): - self.run_test(512, 256, self.gen_data_copy_xarray) + self.run_test(512, 256, self.gen_data_copy) @pytest.mark.benchmark(group="run-sim") def test_run_simple_cp_07_1024x512(self): - self.run_test(1024, 512, self.gen_data_copy_xarray) + self.run_test(1024, 512, self.gen_data_copy) @pytest.mark.benchmark(group="run-sim") def test_run_simple_cp_08_2048x1024(self): - self.run_test(2048, 1024, self.gen_data_copy_xarray) - - -class TestSimpleRunNumpyCopy(SimpleRunBase): - @pytest.fixture(autouse=True) - def setupBenchmark(self, benchmark): - self.setup(benchmark) - - def setup_data(self, size): - self.info1 = fm.Info(time=None, grid=fm.UniformGrid(size), units="m") - self.info2 = fm.Info(time=None, grid=fm.UniformGrid(size), units="m") - self.data = [ - fm.data.strip_data(fm.data.full(0.0, "input", self.info1)), - fm.data.strip_data(fm.data.full(0.0, "input", self.info1)), - ] - - @pytest.mark.benchmark(group="run-sim") - def test_run_numpy_cp_01_2x1(self): - self.run_test(2, 1, self.gen_data_copy_numpy) - - @pytest.mark.benchmark(group="run-sim") - def test_run_numpy_cp_02_32x16(self): - self.run_test(32, 16, self.gen_data_copy_numpy) - - @pytest.mark.benchmark(group="run-sim") - def test_run_numpy_cp_03_64x32(self): - self.run_test(64, 32, self.gen_data_copy_numpy) - - @pytest.mark.benchmark(group="run-sim") - def test_run_numpy_cp_04_128x64(self): - self.run_test(128, 64, self.gen_data_copy_numpy) - - @pytest.mark.benchmark(group="run-sim") - def test_run_numpy_cp_05_256x128(self): - self.run_test(256, 128, self.gen_data_copy_numpy) - - @pytest.mark.benchmark(group="run-sim") - def test_run_numpy_cp_06_512x256(self): - self.run_test(512, 256, self.gen_data_copy_numpy) - - @pytest.mark.benchmark(group="run-sim") - def test_run_numpy_cp_07_1024x512(self): - self.run_test(1024, 512, self.gen_data_copy_numpy) - - @pytest.mark.benchmark(group="run-sim") - def test_run_numpy_cp_08_2048x1024(self): - self.run_test(2048, 1024, self.gen_data_copy_numpy) + self.run_test(2048, 1024, self.gen_data_copy) diff --git a/benchmarks/sdk/test_io.py b/benchmarks/sdk/test_io.py index 11042148d7687d556dcf74bafbeb890acbe2736b..47d8324822f9261b0f6110f319294619c8af2c31 100644 --- a/benchmarks/sdk/test_io.py +++ b/benchmarks/sdk/test_io.py @@ -21,22 +21,16 @@ class TestPushPull(unittest.TestCase): self.time += dt.timedelta(days=1) self.counter += 1 - def setup_link(self, grid, target_units, xr=False): + def setup_link(self, grid, target_units): self.time = dt.datetime(2000, 1, 1) info1 = fm.Info(time=self.time, grid=grid, units="m") info2 = fm.Info(time=self.time, grid=grid, units=target_units) self.data = [ - fm.data.full(0.0, "test", info1), - fm.data.full(0.0, "test", info1), + fm.data.full(0.0, info1), + fm.data.full(0.0, info1), ] - if not xr: - self.data = [ - fm.data.strip_data(self.data[0]), - fm.data.strip_data(self.data[1]), - ] - self.out = fm.Output(name="Output") self.inp = fm.Input(name="Input") @@ -92,51 +86,3 @@ class TestPushPull(unittest.TestCase): grid = fm.UniformGrid((2048, 1024)) self.setup_link(grid, target_units="km") self.benchmark(self.push_pull) - - @pytest.mark.benchmark(group="sdk-io") - def test_push_pull_xr_01_2x1(self): - grid = fm.UniformGrid((2, 1)) - self.setup_link(grid, target_units="m", xr=True) - self.benchmark(self.push_pull) - - @pytest.mark.benchmark(group="sdk-io") - def test_push_pull_xr_02_512x256(self): - grid = fm.UniformGrid((512, 256)) - self.setup_link(grid, target_units="m", xr=True) - self.benchmark(self.push_pull) - - @pytest.mark.benchmark(group="sdk-io") - def test_push_pull_xr_03_1024x512(self): - grid = fm.UniformGrid((1024, 512)) - self.setup_link(grid, target_units="m", xr=True) - self.benchmark(self.push_pull) - - @pytest.mark.benchmark(group="sdk-io") - def test_push_pull_xr_04_2048x1024(self): - grid = fm.UniformGrid((2048, 1024)) - self.setup_link(grid, target_units="m", xr=True) - self.benchmark(self.push_pull) - - @pytest.mark.benchmark(group="sdk-io") - def test_push_pull_xr_units_01_2x1(self): - grid = fm.UniformGrid((2, 1)) - self.setup_link(grid, target_units="km", xr=True) - self.benchmark(self.push_pull) - - @pytest.mark.benchmark(group="sdk-io") - def test_push_pull_xr_units_02_512x256(self): - grid = fm.UniformGrid((512, 256)) - self.setup_link(grid, target_units="km", xr=True) - self.benchmark(self.push_pull) - - @pytest.mark.benchmark(group="sdk-io") - def test_push_pull_xr_units_03_1024x512(self): - grid = fm.UniformGrid((1024, 512)) - self.setup_link(grid, target_units="km", xr=True) - self.benchmark(self.push_pull) - - @pytest.mark.benchmark(group="sdk-io") - def test_push_pull_xr_units_04_2048x1024(self): - grid = fm.UniformGrid((2048, 1024)) - self.setup_link(grid, target_units="km", xr=True) - self.benchmark(self.push_pull)