Skip to content

Commit cccc434

Browse files
committed
Use perf record -g on CI and save perf data for later analysis
1 parent 626b98a commit cccc434

File tree

1 file changed

+22
-2
lines changed

1 file changed

+22
-2
lines changed

Diff for: .github/workflows/coq.yml

+22-2
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ jobs:
1515
fail-fast: false
1616
matrix:
1717
include:
18-
- env: { COQ_VERSION: "master" , COQ_PACKAGE: "coq libcoq-ocaml-dev", SKIP_BEDROCK2: "" , SKIP_VALIDATE: "", COQCHKEXTRAFLAGS: "-bytecode-compiler yes", PPA: "ppa:jgross-h/coq-master-daily", EXTRA_GH_REPORTIFY: "--warnings" }
18+
- env: { COQ_VERSION: "master" , COQ_PACKAGE: "coq libcoq-ocaml-dev", SKIP_BEDROCK2: "" , SKIP_VALIDATE: "", COQCHKEXTRAFLAGS: "-bytecode-compiler yes", PPA: "ppa:jgross-h/coq-master-daily", EXTRA_GH_REPORTIFY: "--warnings", PERF_TESTS: "1" }
1919
os: 'ubuntu-latest'
20-
- env: { COQ_VERSION: "Ubuntu LTS", COQ_PACKAGE: "coq libcoq-ocaml-dev", SKIP_BEDROCK2: "1", SKIP_VALIDATE: "", COQCHKEXTRAFLAGS: "" , PPA: "" }
20+
- env: { COQ_VERSION: "Ubuntu LTS", COQ_PACKAGE: "coq libcoq-ocaml-dev", SKIP_BEDROCK2: "1", SKIP_VALIDATE: "", COQCHKEXTRAFLAGS: "" , PPA: "", PERF_TESTS: "1" }
2121
os: 'ubuntu-20.04'
2222

2323
runs-on: ${{ matrix.os }}
@@ -36,6 +36,10 @@ jobs:
3636
with:
3737
ghc-version: 'latest'
3838
cabal-version: 'latest'
39+
- name: support perf
40+
run: |
41+
sudo sh -c 'echo 0 >/proc/sys/kernel/perf_event_paranoid'
42+
sudo sh -c 'echo 0 >/proc/sys/kernel/kptr_restrict'
3943
- name: echo build params
4044
run: |
4145
echo "::group::lscpu"
@@ -47,6 +51,12 @@ jobs:
4751
echo "::group::lsb_release -a"
4852
lsb_release -a
4953
echo "::endgroup::"
54+
echo "::group::ls -l /proc/kallsyms"
55+
ls -l /proc/kallsyms
56+
echo "::endgroup::"
57+
echo "::group::cat /proc/kallsyms"
58+
cat /proc/kallsyms
59+
echo "::endgroup::"
5060
echo "::group::ghc --version"
5161
ghc --version
5262
echo "::endgroup::"
@@ -92,6 +102,16 @@ jobs:
92102
name: ExtractionHaskell-${{ matrix.env.COQ_VERSION }}
93103
path: src/ExtractionHaskell
94104
if: always ()
105+
- name: collect perf info
106+
run: |
107+
find . -name "*.perf.data" | xargs tar -czvf perf.data.tgz
108+
if: always ()
109+
- name: upload perf files
110+
uses: actions/upload-artifact@v3
111+
with:
112+
name: perf-data-${{ matrix.env.COQ_VERSION }}
113+
path: perf.data.tgz
114+
if: always ()
95115
- name: display timing info
96116
run: cat time-of-build-pretty.log
97117
- name: display per-line timing info

0 commit comments

Comments
 (0)