ppmd.opt module

Optimisation and profiling tools

class ppmd.opt.Code(init='')

Bases: object

add(code='')
add_line(line='')
property string
ppmd.opt.PROFILE = {'Build:g++:': 0.7397804260253906, 'Lib-Load': 0.0005249977111816406, 'MPI:rank': 0}

Dict available module wide for profiling. Recommended format along lines of:

{

‘description’

:
(

total_time_taken

)

}

class ppmd.opt.SynchronizedTimer(level_object=1, level=0, start=False)

Bases: ppmd.opt.Timer

pause()

Pause the timer.

start()

Start the timer.

stop(str='')

Stop timer and print time. :arg string str: string to append after time. If None time printing will be suppressed.

class ppmd.opt.Timer(level_object=1, level=0, start=False)

Bases: object

Automatic timing class.

pause()

Pause the timer.

reset(str=None)

Resets the timer. Returns the time taken up until the reset. :arg string str: If not None will print time followed by string.

start()

Start the timer.

stop(str='')

Stop timer and print time. :arg string str: string to append after time. If None time printing will be suppressed.

time(str=None)

Return current total time. :arg string str: string to append after time. If None time printing will be suppressed. :return: Current total time as float.

ppmd.opt.dump_profile()
ppmd.opt.get_timer_accuracy()
ppmd.opt.load_last_profiles()
ppmd.opt.load_profiles(dir)
ppmd.opt.print_profile(side_by_side=True)