Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 5d0e03d

Browse files
Multi-value filter (#19)
1 parent 2db1fae commit 5d0e03d

File tree

1 file changed

+19
-12
lines changed

1 file changed

+19
-12
lines changed

‎src/parse_results.py‎

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from typing import List, Optional
55

66
from src.metrics import Metrics
7-
from src.utils import parse_config_args
7+
from src.utils import parse_config_args, parse_config_arg
88

99

1010
def get_arg_parser() -> ArgumentParser:
@@ -25,9 +25,9 @@ def get_arg_parser() -> ArgumentParser:
2525

2626
DEFAULT_COLUMNS = (
2727
"Setting",
28-
Metrics.BATCH_SIZE,
2928
Metrics.INPUT_LENGTH,
3029
Metrics.TOKENS_SAMPLE,
30+
Metrics.BATCH_SIZE,
3131
Metrics.THROUGHPUT_E2E,
3232
Metrics.LATENCY_E2E,
3333
)
@@ -54,19 +54,19 @@ def read_data(input_file: Path):
5454
return data
5555

5656

57+
def parse_key(key: Optional[str]) -> Optional[str]:
58+
if key is None:
59+
return key
60+
return getattr(Metrics, key.upper(), key)
61+
62+
5763
def make_table(data, cols):
5864
from markdownTable import markdownTable
5965

6066
data = [Metrics.format_metrics({col: x[col] for col in cols}) for x in data]
6167
return markdownTable(data).getMarkdown()
6268

6369

64-
def parse_key(key: Optional[str]) -> Optional[str]:
65-
if key is None:
66-
return key
67-
return getattr(Metrics, key.upper(), key)
68-
69-
7070
def make_compare_table(data, cols, compare_value, compare_col):
7171
from markdownTable import markdownTable
7272

@@ -104,13 +104,20 @@ def make_compare_table(data, cols, compare_value, compare_col):
104104
def filter_data(data, filters):
105105
if filters is None:
106106
return data
107-
filters = parse_config_args(filters)
108-
filters = {parse_key(key): value for key, value in filters.items()}
107+
108+
parsed_filters = {}
109+
for filter in filters:
110+
key, value = parse_config_arg(filter)
111+
key = parse_key(key)
112+
if key not in parsed_filters:
113+
parsed_filters[key] = []
114+
parsed_filters[key].append(value)
115+
109116
filtered_data = []
110117
for x in data:
111118
filter = True
112-
for key, value in filters.items():
113-
filter = filter and x[key] == value
119+
for key, value in parsed_filters.items():
120+
filter = filter and x[key] in value
114121
if filter:
115122
filtered_data.append(x)
116123
return filtered_data

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /