NoPaste

perf okay

von TRex

SNIPPET_TEXT:
  1. import re
  2. import subprocess
  3. import timeit
  4. from typing import List
  5.  
  6.  
  7. def print_sections(manpage: str):
  8.     return list(map(lambda m: m.group(), re.finditer("([A-Z]{2,})", manpage)))
  9.  
  10.  
  11. def main():
  12.     for tool in ["man", "coreutils", "vim", "bash", "rsync"]:
  13.         try:
  14.             man = subprocess.check_output(["man", tool]).decode("utf-8")
  15.             print(print_sections(man))
  16.         except subprocess.CalledProcessError:
  17.             # manpage not found
  18.            continue
  19.  
  20.  
  21. main()
  22.  
  23. # und nun die Messung
  24. man_man = subprocess.check_output(["man", "man"]).decode("utf-8")
  25.  
  26. duration = timeit.timeit(lambda: print_sections(man_man), number=100)
  27.  
  28. print("Durchschnittliche Laufzeit in Sekunden:", duration)

Quellcode

Hier kannst du den Code kopieren und ihn in deinen bevorzugten Editor einfügen. PASTEBIN_DOWNLOAD_SNIPPET_EXPLAIN