Introduction
A profiling tool was developed in Source to help that the modeller assesses where the running time is being spent. The function of this tool can lead the development of more computationally efficient models and is a complement to speed improvements.
The developed function can be based on a per component (node /link/catchment) and/or per phase (flow, constituent, ordering), and can is able to help the modeller modeler to understand what aspects of their models take the most time.
This tool was included in Source version 4.4.0 - Beta Release (May 2018) and Source version 4.5 - Production Release (June 2018) and will be in any later Source version.
Access the tool
The model profiling tool is available as a recorder. It can be found under Miscellaneous \ Performance \ Scenario Model Timings in the Project Hierarchy\, shown as Figure 1. It can produce a report that shows the execution time per component (e.g. node, link, catchment) and per phase (e.g. flow, constituent, ordering. etc.).
Figure 1. Access the model profiling tool
Use of the tool
The user can use this tool to find which areas in their model take the most time and then see how to improve the model runtime.
Step1 - Set up the tool
The user can click on select “Scenario Model Timings” as in Figure 1, then right click to on it, and select “Record All” item and . The function of the tool is set up.The user then can run the model.
Step2 - View tool’s result
Goes The user goes to Results Manager as Figure 2. If it is not open, can press F10 or navigate to View » Results Manager... to open it.
Figure 2. eWater Results Manager Interface with running time summary for model phases
...
- Tab “Overview”in the right frame of Figure 2 is the results forModel Phase Summary. The user can click on “Export.“ "Export" button at the bottom to output this summary table.
- Tab “Heatmap” provides the summary of the running time detailed for each relevant component (such as used nodes, links, supply points, etc.) in different phase (Figure 3). It is network element perform heatmap in seconds.
Figure 3. eWater Results Manager Interface with running time summary for Heatmap tab
The user can move the mouse over the bottom of each column in Figure 3 to find which phase this column is.
The user can move the mouse to specie cell in Figure 3 to find relevant components, relevant phase and its running time in seconds. For the red highlighted cell 0.
3338 in Figure 3, the mouse point activity shows: It is Flow Phase - Flow (X), the component is storage “Recreational Lake” (Y) and its running time is 0.
3338 seconds (Z) (Figure 4).
Figure 4 the running time details on the Heatmap
- The
The user can click “Export data” button to output the Heatmap result to a csv file.
Figure 4 the running time details on the Heatmap
Alternatively, the user can navigate to each component of each phase (such as “Constraint Phase”, “Environmental Flow”, “Flow Phase”, “Order Phase”, “Post Time Step”, “Pre TimeStep”, “Resource Assessment”, “TimeStep” inthe left frame of Figure 3) under “Scenario Model Timings”, and see the process of the running time for each relevant components in each phase.
...