| 92 | |
| 93 | |
| 94 | def measure(name: str, f: Callable[..., B], *args, print_result: bool = True) -> B: |
| 95 | start_time = time.time() |
| 96 | result = f(*args) |
| 97 | elapsed_time = time.time() - start_time |
| 98 | |
| 99 | time_unit = "s" |
| 100 | elapsed_time_display = elapsed_time |
| 101 | if elapsed_time < 1: |
| 102 | time_unit = "ms" |
| 103 | elapsed_time_display *= 1000 |
| 104 | |
| 105 | if print_result: |
| 106 | print( |
| 107 | f"Running {name}: time: {elapsed_time_display:.3f}{time_unit}, result: {result}" |
| 108 | ) |
| 109 | else: |
| 110 | print(f"Running {name}: time: {elapsed_time_display:.3f}{time_unit}") |
| 111 | |
| 112 | return result |
| 113 | |
| 114 | |
| 115 | def run_graphql_test(query, expected_output, graph, sort_output=False): |