codecov / engineering-team

This is a general repo to use with GH Projects
1 stars 1 forks source link

Reimplement `PathFixer` in Rust #2979

Open Swatinem opened 1 week ago

Swatinem commented 1 week ago

The PathFixer code is one of the slowest parts of coverage processing. In particular building the PathFixer Tree can be the slowest part of processing in particular for large customers with huge monorepos with thousands of files that need to be indexed into this Tree for each upload.

Also matching file paths using that built PathFixer is a slow and accounts for a big chunk of coverage processing. See #2978 for a flamegraph showing this.

Rewriting this whole thing in Rust should ideally solve these performance issues, and would also be a prerequisite to porting more of coverage processing over to Rust in the long term.