diff --git a/buildjob b/buildjob
index 2ab2088f1895487d0f84b66000a6f9a6916bcd4c..ad4036f24767a14640e36258152544e1e20281cb 100755
--- a/buildjob
+++ b/buildjob
@@ -26,16 +26,16 @@ set -o pipefail
 . ci/prepare-opam.sh $OPAM_PINS # deliberately not quoted
 env | egrep '^(CI_BUILD_REF|CI_RUNNER)' > build-env.txt
 
-# maybe set some coq flags
 if [[ -n "$MANGLE_NAMES" ]]; then
     export COQEXTRAFLAGS="$COQEXTRAFLAGS -mangle-names mangled_"
 fi
+if [[ -n "$TIMING_PROJECT" ]]; then
+    export TIMECMD=ci/perf
+fi
 
 # Build
 echo_color "$BOLDGREEN" "[buildjob] Perfoming build"
-time make --output-sync --no-print-directory -k -j$CPU_CORES TIMED=y 2>&1 | tee build-log.txt
-echo_color "$BOLDGREEN" "[buildjob] Build time summary"
-cat build-log.txt | egrep "(real|user): [0-9]" | tee build-time.txt
+time make --output-sync --no-print-directory -k -j$CPU_CORES 2>&1
 
 # maybe check for axioms
 if [[ -z "$AXIOMS_IGNORE" ]]; then
@@ -53,6 +53,9 @@ if [[ -n "$TIMING_PROJECT" && -n "$TIMING_CONF" ]]; then
         echo_color "$BOLDRED" "[buildjob] TIMING_SECRET variable is missing"
         exit 1
     fi
+    # collect all information into one file
+    find -name "*.v.perf" -print0 | xargs -0 cat > build-times.txt
+    cat build-times.txt
     # Submit to webhook endpoint
     curl --fail -sS -X POST https://coq-speed.mpi-sws.org/webhook/build_times \
          --user "$TIMING_SECRET" \
@@ -61,7 +64,7 @@ if [[ -n "$TIMING_PROJECT" && -n "$TIMING_CONF" ]]; then
          -H "X-Branch: $CI_COMMIT_REF_NAME" \
          -H "X-Config: $TIMING_CONF" \
          -H "X-Date: $(git show $CI_COMMIT_SHA -s --pretty=%cI)" \
-         --data-binary @- < build-time.txt
+         --data-binary @- < build-times.txt
 fi
 
 # maybe create opam package
diff --git a/perf b/perf
new file mode 100755
index 0000000000000000000000000000000000000000..6cd60e4142bd29a04dc4e1588229666ecbade7fa
--- /dev/null
+++ b/perf
@@ -0,0 +1,8 @@
+#!/bin/bash
+set -e
+# Wrapper script to use perf as TIMECMD for the build.
+
+VFILE="${!#}"
+perf stat -o "$VFILE.perf.tmp" -x ';' -e instructions,cycles -- "$@"
+(echo "## $VFILE" && (cat "$VFILE.perf.tmp" | egrep -v '^(# .*)?$') && echo) > "$VFILE.perf"
+rm "$VFILE.perf.tmp"