[PATCH] D144101: [test-suite] Increase the --filter-short threshold
Sjoerd Meijer via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 9 02:23:49 PST 2023
SjoerdMeijer updated this revision to Diff 503703.
SjoerdMeijer added a comment.
Option `--filter-short` now accepts an optional arguments, and it defaults to 1.0s.
Some special care had to be taken if this optional argument is omitted, it then needs to recognise that the FILE arguments is not the optional argument to `--filter-short`, as also explained in the comments.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D144101/new/
https://reviews.llvm.org/D144101
Files:
utils/compare.py
Index: utils/compare.py
===================================================================
--- utils/compare.py
+++ utils/compare.py
@@ -154,7 +154,7 @@
def filter_failed(data, key='Exec'):
return data.loc[data[key] == "pass"]
-def filter_short(data, key='Exec_Time', threshold=0.6):
+def filter_short(data, threshold, key='Exec_Time'):
return data.loc[data[key] >= threshold]
def filter_same_hash(data, key='hash'):
@@ -293,8 +293,9 @@
parser.add_argument('--diff', action='store_true', dest='show_diff')
parser.add_argument('--absolute-diff', action='store_true',
help='Use an absolute instead of a relative difference')
- parser.add_argument('--filter-short', action='store_true',
- dest='filter_short')
+ parser.add_argument('--filter-short', nargs='?',
+ dest='filter_short', default=None,
+ help="Filter benchmarks with execution times less than N seconds (default 1.0s)")
parser.add_argument('--no-filter-failed', action='store_false',
dest='filter_failed', default=True)
parser.add_argument('--filter-hash', action='store_true',
@@ -322,6 +323,24 @@
if config.show_diff is None:
config.show_diff = len(config.files) > 1
+ # If only --filter-short is provided, i.e. its optional argument is
+ # omitted, we default to threshold of 1 second to filter out apps and
+ # results with a execution time less than that.
+ filter_short_threshold = 1.0
+
+ # If the optional argument to --filter-short is omitted, we need to take
+ # care of this case and command line:
+ # --filter-short FILE [FILE ...]
+ # I.e., we need to recognise that FILE is not the optional argument to
+ # --filter-short. The way we do this, is to try converting the option value
+ # to a float, and if that fails, we insert it back into the files list (in
+ # the first position).
+ if config.filter_short is not None:
+ try:
+ filter_short_threshold = float(config.filter_short)
+ except:
+ config.files.insert(0, config.filter_short)
+
# Read inputs
files = config.files
if "vs" in files:
@@ -373,7 +392,7 @@
newdata = newdata.drop('Exec', 1)
data = newdata
if config.filter_short:
- newdata = filter_short(data, metric)
+ newdata = filter_short(data, filter_short_threshold, metric)
print_filter_stats("Short Running", data, newdata)
data = newdata
if config.filter_hash and 'hash' in data.columns and \
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D144101.503703.patch
Type: text/x-patch
Size: 2611 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230309/f87ac5b7/attachment.bin>
More information about the llvm-commits
mailing list