scripts: Renamed summary.py -> csv.py

This seems like a more fitting name now that this script has evolved
into more of a general purpose high-level CSV tool.

Unfortunately this does conflict with the standard csv module in Python,
breaking every script that imports csv (which is most of them).
Fortunately, Python is flexible enough to let us remove the current
directory before imports with a bit of an ugly hack:

  # prevent local imports
  __import__('sys').path.pop(0)

These scripts are intended to be standalone anyways, so this is probably
a good pattern to adopt.
This commit is contained in:
Christopher Haster
2024-11-09 12:31:16 -06:00
parent a0ab7bda26
commit 7cfcc1af1d
33 changed files with 128 additions and 32 deletions
+28 -28
View File
@@ -250,10 +250,10 @@ stack-diff: $(CI)
funcs: SUMMARYFLAGS+=-S
funcs: SHELL=/bin/bash
funcs: $(BUILDDIR)/lfs.code.csv $(BUILDDIR)/lfs.stack.csv
$(strip ./scripts/summary.py \
<(./scripts/summary.py $(BUILDDIR)/lfs.code.csv \
$(strip ./scripts/csv.py \
<(./scripts/csv.py $(BUILDDIR)/lfs.code.csv \
-fcode=size -q $(SUMMARYFLAGS) -o-) \
<(./scripts/summary.py $(BUILDDIR)/lfs.stack.csv \
<(./scripts/csv.py $(BUILDDIR)/lfs.stack.csv \
-fstack=limit -q $(SUMMARYFLAGS) -o-) \
-bfunction -fcode -fstack \
--max=stack \
@@ -263,19 +263,19 @@ funcs: $(BUILDDIR)/lfs.code.csv $(BUILDDIR)/lfs.stack.csv
.PHONY: funcs-diff
funcs-diff: SHELL=/bin/bash
funcs-diff: $(OBJ) $(CI)
$(strip ./scripts/summary.py \
<(./scripts/summary.py \
$(strip ./scripts/csv.py \
<(./scripts/csv.py \
<(./scripts/code.py $(OBJ) -q $(CODEFLAGS) -o-) \
-fcode=size -q $(SUMMARYFLAGS) -o-) \
<(./scripts/summary.py \
<(./scripts/csv.py \
<(./scripts/stack.py $(CI) -q $(STACKFLAGS) -o-) \
-fstack=limit -q $(SUMMARYFLAGS) -o-) \
-bfunction -fcode -fstack \
--max=stack \
$(SUMMARYFLAGS) -d <(./scripts/summary.py \
<(./scripts/summary.py $(BUILDDIR)/lfs.code.csv \
$(SUMMARYFLAGS) -d <(./scripts/csv.py \
<(./scripts/csv.py $(BUILDDIR)/lfs.code.csv \
-fcode=size -q $(SUMMARYFLAGS) -o-) \
<(./scripts/summary.py $(BUILDDIR)/lfs.stack.csv \
<(./scripts/csv.py $(BUILDDIR)/lfs.stack.csv \
-fstack=limit -q $(SUMMARYFLAGS) -o-) \
-fcode -fstack \
-q $(SUMMARYFLAGS) -o-))
@@ -344,14 +344,14 @@ summary sizes: \
$(BUILDDIR)/lfs.data.csv \
$(BUILDDIR)/lfs.stack.csv \
$(BUILDDIR)/lfs.structs.csv
$(strip ./scripts/summary.py \
<(./scripts/summary.py $(BUILDDIR)/lfs.code.csv \
$(strip ./scripts/csv.py \
<(./scripts/csv.py $(BUILDDIR)/lfs.code.csv \
-fcode=size -q $(SUMMARYFLAGS) -o-) \
<(./scripts/summary.py $(BUILDDIR)/lfs.data.csv \
<(./scripts/csv.py $(BUILDDIR)/lfs.data.csv \
-fdata=size -q $(SUMMARYFLAGS) -o-) \
<(./scripts/summary.py $(BUILDDIR)/lfs.stack.csv \
<(./scripts/csv.py $(BUILDDIR)/lfs.stack.csv \
-fstack=limit -q $(SUMMARYFLAGS) -o-) \
<(./scripts/summary.py $(BUILDDIR)/lfs.structs.csv \
<(./scripts/csv.py $(BUILDDIR)/lfs.structs.csv \
-fstructs=size -q $(SUMMARYFLAGS) -o-) \
-bfunction -fcode -fdata -fstack -fstructs \
--max=stack \
@@ -362,29 +362,29 @@ summary sizes: \
.PHONY: summary-diff sizes-diff
summary-diff sizes-diff: SHELL=/bin/bash
summary-diff sizes-diff: $(OBJ) $(CI)
$(strip ./scripts/summary.py \
<(./scripts/summary.py \
$(strip ./scripts/csv.py \
<(./scripts/csv.py \
<(./scripts/code.py $(OBJ) -q $(CODEFLAGS) -o-) \
-fcode=size -q $(SUMMARYFLAGS) -o-) \
<(./scripts/summary.py \
<(./scripts/csv.py \
<(./scripts/data.py $(OBJ) -q $(DATAFLAGS) -o-) \
-fdata=size -q $(SUMMARYFLAGS) -o-) \
<(./scripts/summary.py \
<(./scripts/csv.py \
<(./scripts/stack.py $(CI) -q $(STACKFLAGS) -o-) \
-fstack=limit -q $(SUMMARYFLAGS) -o-) \
<(./scripts/summary.py \
<(./scripts/csv.py \
<(./scripts/structs.py $(OBJ) -q $(STRUCTSFLAGS) -o-) \
-fstructs=size -q $(SUMMARYFLAGS) -o-) \
-bfunction -fcode -fdata -fstack -fstructs \
--max=stack \
-Y -p $(SUMMARYFLAGS) -d <(./scripts/summary.py \
<(./scripts/summary.py $(BUILDDIR)/lfs.code.csv \
-Y -p $(SUMMARYFLAGS) -d <(./scripts/csv.py \
<(./scripts/csv.py $(BUILDDIR)/lfs.code.csv \
-fcode=size -q $(SUMMARYFLAGS) -o-) \
<(./scripts/summary.py $(BUILDDIR)/lfs.data.csv \
<(./scripts/csv.py $(BUILDDIR)/lfs.data.csv \
-fdata=size -q $(SUMMARYFLAGS) -o-) \
<(./scripts/summary.py $(BUILDDIR)/lfs.stack.csv \
<(./scripts/csv.py $(BUILDDIR)/lfs.stack.csv \
-fstack=limit -q $(SUMMARYFLAGS) -o-) \
<(./scripts/summary.py $(BUILDDIR)/lfs.structs.csv \
<(./scripts/csv.py $(BUILDDIR)/lfs.structs.csv \
-fstructs=size -q $(SUMMARYFLAGS) -o-) \
-fcode -fdata -fstack -fstructs \
-q $(SUMMARYFLAGS) -o-) \
@@ -420,14 +420,14 @@ test-list list-tests: test-runner
.PHONY: testmarks
testmarks: SUMMARYFLAGS+=-spassed -Stime
testmarks: $(TEST_CSV) $(BUILDDIR)/lfs.test.csv
$(strip ./scripts/summary.py $(TEST_CSV) \
$(strip ./scripts/csv.py $(TEST_CSV) \
-bsuite -fpassed -ftime \
$(SUMMARYFLAGS))
## Compare test results against a previous run
.PHONY: testmarks-diff
testmarks-diff: $(TEST_CSV)
$(strip ./scripts/summary.py $^ \
$(strip ./scripts/csv.py $^ \
-bsuite -fpassed -ftime \
$(SUMMARYFLAGS) -d $(BUILDDIR)/lfs.test.csv)
@@ -461,14 +461,14 @@ bench-list list-benches: bench-runner
.PHONY: benchmarks
benchmarks: SUMMARYFLAGS+=-Serased -Sproged -Sreaded
benchmarks: $(BENCH_CSV) $(BUILDDIR)/lfs.bench.csv
$(strip ./scripts/summary.py $(BENCH_CSV) \
$(strip ./scripts/csv.py $(BENCH_CSV) \
-bsuite -freaded -fproged -ferased \
$(SUMMARYFLAGS))
## Compare bench results against a previous run
.PHONY: benchmarks-diff
benchmarks-diff: $(BENCH_CSV)
$(strip ./scripts/summary.py $^ \
$(strip ./scripts/csv.py $^ \
-bsuite -freaded -fproged -ferased \
$(SUMMARYFLAGS) -d $(BUILDDIR)/lfs.bench.csv)