-
Notifications
You must be signed in to change notification settings - Fork 195
Conversation
48b3922
to
8ebe470
Compare
Codecov Report
@@ Coverage Diff @@
## main #2515 +/- ##
==========================================
- Coverage 29.89% 29.65% -0.24%
==========================================
Files 289 282 -7
Lines 35771 34209 -1562
==========================================
- Hits 10692 10145 -547
+ Misses 25079 24064 -1015
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
98da1e2
to
b9228f2
Compare
193aeef
to
660231a
Compare
Of particular note: When writing a file, callers will need to wrap the file with a |
Big Idea: pub fn cobertura(
&self,
filter_regex: Option<&str>,
output: &mut std::io::BufWriter<impl Write>,
) -> Result<()> {
self.cobertura_slowly(filter_regex, output)
}
pub fn cobertura_slowly(
&self,
filter_regex: Option<&str>,
output: &mut impl Write,
) -> Result<()> { |
Haha, I mean we might as well as just leave the |
For now I'll just update our example executable, and the NOTE should hopefully point the way. |
Also fyi - I'll probably follow up with another few PRs with further refactoring. |
In general, for incremental perf optimization PRs, we should include some before/after benchmarks of the relevant metrics (time, memory). This is helpful for understanding what one gets in exchange for using (sometimes) less obvious / more complex implementation strategies. Will also help diagnose regressions and guide future optimization attempts. |
@ranweiler totally agree - any recommendations on measuring and reporting the perf? |
@DrChat, I don't think we need to get too strict with it or anything, especially with more obvious big wins. If you're using WPA, even just noting the changes you're seeing at a high level would be useful. That'd help share effect magnitude, and ideally give others a sense of how you were measuring it / how to repeat on their own. |
0620b7c
to
b913a59
Compare
b913a59
to
6bec915
Compare
Summary of the Pull Request
This PR contains performance improvements for the
srcview
crate.PR Checklist
Info on Pull Request
PathBuf
is more expensive than comparing raw strings, so we should strive to use strings while building thePdbCache
.quick-xml
and try to avoid allocating any memory in the hot path when outputting cobertura XML output.Validation Steps Performed
srcview
binary with a large PDB (ntoskrnl) and modoff file.