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 is able to help the modeler to understand what which 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\ 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.
...
The user goes to Results Manager as Figure 2. If it is not open, can press F10 key or navigate to View » View → Results Manager... to to open it.
Figure 2. eWater Results Manager Interface with running time summary for model phases
...
From eWater Results Manager Interface, the user can navigate to “Performance” (such as under Scenario Results\→Latest Run\ in in Figure 2) to view the result from the profiling tool.
...
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.38 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.38 seconds (Z) (Figure 4).
The user can click “Export data” button to output the Heatmap result to a csv report 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 / Figure 4) under “Scenario Model Timings”, and see the process of the running time for each relevant components in each phase.
For example, the user can navigate to Scenario Model Timings\Flow Phase\Nodes\Storage\Recreational Lake\FlowTimings→Flow Phase→Nodes→Storage→Recreational Lake→Flow, and click on “Flow”, its running time process will be displayed in the right frame of the interface of eWater Results Manager (Figure 5).
The user can see detail details of every phase or every element in every phase.
Figure 5 The process of the running time of the individual component
Step3 - Improve the performance
...