Skip to content

Commit a005493

Browse files
authored
Add callgraph generation to callgrind based benchmarks (#1465)
This functionality adds a new callgraph generated from the callgrind run to the `slang` and `cmp` benchmarks. It generates 2 new files: - `callgrind.<test name>.test.out.callgraph.dot`, the graphviz representation of the callgraph - `callgrind.<test name>.test.out.callgraph.svg`, the rendered version It adds a dependency to `graphviz` and `gprof2dot`. I run both benchmarks to test it out: - https://github.com/NomicFoundation/slang/actions/runs/19263493239 - https://github.com/NomicFoundation/slang/actions/runs/19260165720
1 parent 0d5fa04 commit a005493

File tree

5 files changed

+433
-396
lines changed

5 files changed

+433
-396
lines changed

.github/workflows/benchmark_cargo_cmp.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ jobs:
3939
- name: "Restore Cache"
4040
uses: "./.github/actions/cache/restore"
4141

42-
- name: "infra setup cargo"
43-
run: "./scripts/bin/infra setup cargo"
42+
- name: "infra setup cargo pipenv"
43+
run: "./scripts/bin/infra setup cargo pipenv"
4444

4545
- name: "Set bencher project"
4646

.github/workflows/benchmark_cargo_slang.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ jobs:
3939
- name: "Restore Cache"
4040
uses: "./.github/actions/cache/restore"
4141

42-
- name: "infra setup cargo"
43-
run: "./scripts/bin/infra setup cargo"
42+
- name: "infra setup cargo pipenv"
43+
run: "./scripts/bin/infra setup cargo pipenv"
4444

4545
- name: "Set bencher project"
4646

Pipfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,6 @@ mkdocs-pymdownx-material-extras = "==2.8"
1717

1818
# Used by 'infra lint':
1919
yamllint = "==1.37.0"
20+
21+
# Used by 'infra perf cargo':
22+
gprof2dot = "==2025.4.14"

0 commit comments

Comments
 (0)