Skip to content
  • Christopher Subich's avatar
    Stack-structured timing code · 0a4781c9
    Christopher Subich authored
    This commit adds stack-structured timing code, such that bits of SPINS
    can be instrumented with
    
    >  timing_push("short name")
    >  [... work goes here]
    >  timing_pop()
    
    This is recursive, such that already-timed portions of the code can call
    the timing code to further instrument subroutines or discrete code
    segments, and the resulting structure follows the -dynamic- call stack.
    This does have the odd result that portions of the code that are re-used
    (namely spectral derivatives) can show up as several 'leaf' nodes in the
    graph.
    
    To print out the report to standard error, call
    
    >  timing_stack_report()
    
    The exact format of the report should be considered tentative.
    0a4781c9