LLVM 18.1.8-4 Build: Significant Performance Regression with LLVM-Cov

Description:

Enabling curl for the LLVM build has resulted in a dramatic increase in the runtime of llvm-cov. Previously, llvm-cov would complete in approximately 0.5 seconds in my tests. However, with the new build that includes curl, the runtime has increased to 49 seconds. I tried building the package without the curl CMake option, and the performance regression disappeared.

Excerpt from Evangalos Foutras: "It does sound like llvm-cov is downloading debug symbols from debuginfod.archlinux.org and that's why it's taking so long to finish."

Additional info:

  • package version(s): 18.1.8-4
  • config and/or log files: No log files attached but I provide them on request.
  • link to upstream bug report, if any:

Steps to reproduce:

Run llvm-cov on any project with reasonable test suite. I used the serde rust package

  1. git clone https://github.com/serde-rs/serde
  2. cd serde
  3. RUSTFLAGS="-C instrument-coverage" cargo test
  4. llvm-profdata merge -o **/default_*.profraw -o default.profdata
  5. llvm-cov export -instr-profile default.profdata -format=text target/debug/deps/serde-*

EDIT: number 4 includes profraws in subfolders

Edited by Tamas Konya