12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- import sys
- import re
- def extract_init_time(file_contents):
- lines = file_contents.split('\n')
- init_time = None
- for line in lines:
- if line.startswith("InitTime:"):
- init_time_str = line.split(":")[1].strip()
- init_time = float(init_time_str.split()[0])
- break
- return init_time
- def extract_time_accesses(file_contents):
- time_accesses_section = re.search(r'time accesses:\s+([\d.]+) ms', file_contents)
- if time_accesses_section:
- time_accesses = float(time_accesses_section.group(1))
- return time_accesses
- else:
- return None
- def extract_max_bytes_sent(file_contents):
- communication_section = re.search(r'communication accesses: {(.*?)}', file_contents, re.DOTALL)
- if communication_section:
- communication_stats = communication_section.group(1)
- num_bytes_sent = [int(match.group(1)) for match in re.finditer(r'num_bytes_sent: (\d+)', communication_stats)]
- max_bytes_sent = max(num_bytes_sent)
- return max_bytes_sent
- else:
- return None
- def extract_max_time_accesses(file_contents):
- max_time_accesses_section = re.search(r'Maximum time accesses: (\d+\.\d+) ms', file_contents)
- if max_time_accesses_section:
- max_time_accesses = float(max_time_accesses_section.group(1))
- return max_time_accesses
- else:
- return None
- def extract_max_of_time_accesses(file_contents):
- max_of_time_accesses_section = re.search(r'Maximum of time accesses: (\d+\.\d+) ms', file_contents)
- if max_of_time_accesses_section:
- max_of_time_accesses = float(max_of_time_accesses_section.group(1))
- return max_of_time_accesses
- else:
- return None
- def main():
- if len(sys.argv) != 2:
- print("Usage: python script.py <filename>")
- return
- filename = sys.argv[1]
-
- try:
- with open(filename, 'r') as file:
- file_contents = file.read()
- max_init_time = extract_init_time(file_contents)
- time_accesses = extract_time_accesses(file_contents)
- max_bytes_sent = extract_max_bytes_sent(file_contents)
- max_time_accesses = extract_max_time_accesses(file_contents)
- max_of_time_accesses = extract_max_of_time_accesses(file_contents)
-
- #if max_init_time is not None:
- # print("Maximum InitTime:", max_init_time, "ms")
- #else:
- # print("No InitTime found in the file.")
-
- #if time_accesses is not None:
- # print("Time Accesses:", time_accesses, "ms")
- # else:
- # print("No time accesses found in the file.")
-
- if max_bytes_sent is not None:
- print(max_bytes_sent)
- else:
- print("No communication stats found in the file.")
- if max_init_time is not None and time_accesses is not None:
- total_time = max_init_time + time_accesses
- print(total_time)
- else:
- print("Cannot calculate total time due to missing values.")
- except FileNotFoundError:
- print("File not found:", filename)
- if __name__ == "__main__":
- main()
|