summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rwxr-xr-xtools/build.py8
-rw-r--r--tools/metrics.py19
2 files changed, 10 insertions, 17 deletions
diff --git a/tools/build.py b/tools/build.py
index e4909f45f..c4f1558c0 100755
--- a/tools/build.py
+++ b/tools/build.py
@@ -142,16 +142,12 @@ def make_one_example(example, board, make_option):
r = 2
else:
start_time = time.monotonic()
- # skip -j for circleci
- if not os.getenv('CIRCLECI'):
- make_option += ' -j'
- make_args = ["make", "-C", f"examples/{example}", f"BOARD={board}"]
+ make_args = ["make", "-C", f"examples/{example}", f"BOARD={board}", '-j', str(parallel_jobs)]
if make_option:
make_args += shlex.split(make_option)
- make_args.append("all")
if clean_build:
run_cmd(make_args + ["clean"])
- build_result = run_cmd(make_args)
+ build_result = run_cmd(make_args + ['all'])
r = 0 if build_result.returncode == 0 else 1
print_build_result(board, example, r, time.monotonic() - start_time)
diff --git a/tools/metrics.py b/tools/metrics.py
index bb84f803e..c3b366e42 100644
--- a/tools/metrics.py
+++ b/tools/metrics.py
@@ -195,17 +195,13 @@ def compare_maps(base_file, new_file, filters=None):
def format_diff(base, new, diff):
"""Format a diff value with percentage."""
- if base == 0 and new == 0:
- return "0"
- if base == 0:
- return f"{new} (new)"
- if new == 0:
- return f"{base} ➡ 0"
if diff == 0:
- return f"{base} ➡ {new}"
+ return f"{new}"
+ if base == 0 or new == 0:
+ return f"{base} ➙ {new}"
pct = (diff / base) * 100
sign = "+" if diff > 0 else ""
- return f"{base} ➡ {new} ({sign}{diff}, {sign}{pct:.1f}%)"
+ return f"{base} ➙ {new} ({sign}{diff}, {sign}{pct:.1f}%)"
def get_sort_key(sort_order):
@@ -232,10 +228,11 @@ def write_compare_markdown(comparison, path, sort_order='size'):
sections = comparison["sections"]
md_lines = [
- "# TinyUSB Code Size Different Report",
+ "# Size Difference Report",
"",
- f"**Base:** `{comparison['base_file']}`",
- f"**New:** `{comparison['new_file']}`",
+ "Because TinyUSB code size varies by port and configuration, the metrics below represent the averaged totals across all example builds."
+ "",
+ "Note: If there is no change, only one value is shown.",
"",
]