File: test_timing_measurements.py

package info (click to toggle)
meep-openmpi 1.25.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 64,556 kB
  • sloc: cpp: 32,214; python: 27,958; lisp: 1,225; makefile: 505; sh: 249; ansic: 131; javascript: 5
file content (35 lines) | stat: -rw-r--r-- 1,202 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import time
import unittest

import meep as mp
from meep import timing_measurements as timing


class TimingTest(unittest.TestCase):
    def test_timing_measurements(self):
        """Tests that timing measurements have expected names and can be updated."""
        sim = mp.Simulation(
            cell_size=mp.Vector3(2, 2, 2),
            resolution=20,
        )
        time_start = time.time()
        sim.run(until=5)
        timing_measurements = timing.MeepTimingMeasurements.new_from_simulation(sim)

        # Check for expected names after updating
        self.assertSetEqual(
            set(timing_measurements.measurement_names),
            set(timing.TIMING_MEASUREMENT_IDS.keys()),
        )
        self.assertTrue(
            timing_measurements.elapsed_time > 0
            or timing_measurements.elapsed_time == -1
        )
        self.assertGreater(timing_measurements.num_time_steps, 0)
        self.assertGreaterEqual(timing_measurements.comm_efficiency, 0)
        self.assertGreaterEqual(timing_measurements.comm_efficiency_one_to_one, 0)
        self.assertGreaterEqual(timing_measurements.comm_efficiency_all_to_all, 0)


if __name__ == "__main__":
    unittest.main()