Performance and time ==================== .. raw:: html .. role:: red XGC outputs timing_#########.* files where ######### is the time step, which are used to analyze the performance. The output frequency is controlled by the input parameters ``mon_flush_count`` and ``mon_flush_freq``. The current time step (from which the simulation will be restarted) and the number of restarts are written in timestep.dat. The files timing_#########.txt_stats contain information on the time spent in different sections during execution of the time step. The sections are set by timers in the code: **Fortran** .. code-block:: fortran use perf_monitor call t_startf("REGION_1") !start timer ! execute region 1 call t_stopf("REGION_1") !stop timer **C++** .. code-block:: c++ #include "gptl.h" int ierr; //error code ierr = GPTLstart("REGION_2"); //start timer // execute region 2 ierr = GPTLstop("REGION_2"); //stop timer There is also a TIMER macro that can be used to time a single function: .. code-block:: c++ #include "timer_macro.hpp" TIMER("MY_FUNCTION", my_func() ); When developing code it is useful to add your own timers to check the performance. .. toctree:: :maxdepth: 1