def get_timer(self): """ Timer data. """ timer = AbinitTimerParser() timer.parse(self.filepath) return timer
def abicomp_time(options): """ Analyze/plot the timing data of single or multiple runs. """ paths = options.paths from abipy.abio.timer import AbinitTimerParser if len(options.paths) == 1 and os.path.isdir(paths[0]): top = options.paths[0] print("Walking directory tree from top:", top, "Looking for file extension:", options.ext) parser, paths_found, okfiles = AbinitTimerParser.walk(top=top, ext=options.ext) if not paths_found: cprint("Empty file list!", color="magenta") return 1 print("Found %d files\n" % len(paths_found)) if okfiles != paths_found: badfiles = [f for f in paths_found if f not in okfiles] cprint("Cannot parse timing data from the following files:", color="magenta") for bad in badfiles: print(bad) else: parser = AbinitTimerParser() okfiles = parser.parse(options.paths) if okfiles != options.paths: badfiles = [f for f in options.paths if f not in okfiles] cprint("Cannot parse timing data from the following files:", color="magenta") for bad in badfiles: print(bad) if parser is None: cprint("Cannot analyze timing data. parser is None", color="magenta") return 1 print(parser.summarize()) if options.verbose: for timer in parser.timers(): print(timer.get_dataframe()) if options.ipython: cprint( "Invoking ipython shell. Use parser to access the object inside ipython", color="blue") import IPython IPython.start_ipython(argv=[], user_ns={"parser": parser}) elif options.notebook: parser.make_and_open_notebook(foreground=options.foreground) else: parser.plot_all() return 0
def abicomp_time(options): """ Analyze/plot the timing data of single or multiple runs. """ paths = options.paths from abipy.abio.timer import AbinitTimerParser if len(options.paths) == 1 and os.path.isdir(paths[0]): # Scan directory tree top = options.paths[0] print("Walking directory tree from top:", top, "Looking for file extension:", options.ext) parser, paths_found, okfiles = AbinitTimerParser.walk(top=top, ext=options.ext) if not paths_found: cprint("Empty file list!", color="magenta") return 1 print("Found %d files\n" % len(paths_found)) if okfiles != paths_found: badfiles = [f for f in paths_found if f not in okfiles] cprint("Cannot parse timing data from the following files:", color="magenta") for bad in badfiles: print(bad) else: # Parse list of files. parser = AbinitTimerParser() okfiles = parser.parse(options.paths) if okfiles != options.paths: badfiles = [f for f in options.paths if f not in okfiles] cprint("Cannot parse timing data from the following files:", color="magenta") for bad in badfiles: print(bad) if parser is None: cprint("Cannot analyze timing data. parser is None", color="magenta") return 1 print(parser.summarize()) if options.verbose: for timer in parser.timers(): print(timer.get_dataframe()) if options.ipython: cprint("Invoking ipython shell. Use parser to access the object inside ipython", color="blue") import IPython IPython.start_ipython(argv=[], user_ns={"parser": parser}) elif options.notebook: parser.make_and_open_notebook(foreground=options.foreground) else: parser.plot_all() return 0