C
C#16mo ago
LPeter1997

✅ Profiling BDN benchmarks

I have a benchmarking project set up with BDN. It would be really nice if I could just jump in with the profiler on one of these benchmarks, see hotspots, etc. I haven't found any way BDN exposes this, and I fear it's not something they support.
6 Replies
ACiDCA7
ACiDCA716mo ago
am i missing something crucial? cant you just write a small app that only contains your code and if necessary do it in loop for warmup then on like loop 1234 you set conditional breakpoint?
LPeter1997
LPeter199716mo ago
Sure, then every time I want to re-profile a benchmarked snippet, I need to change that other app to profile that code And this would be for tons of components that are being profiled in the system It's simply not ergonomic when I already have a BDN project set up with all the benchmarks we care about and want to actively profile
ACiDCA7
ACiDCA716mo ago
Sure, then every time I want to re-profile a benchmarked snippet
arent you doing this with bdn anyway? dont see the problem really
And this would be for tons of components that are being profiled in the system
true
It's simply not ergonomic when I already have a BDN project set up with all the benchmarks we care about and want to actively profile
yea i guess it would be nice to have
LPeter1997
LPeter199716mo ago
arent you doing this with bdn anyway? dont see the problem really
BDN is not our profiler, it's our benchmark We measure how a component performs before/after a change, but if we see a significant degradation in performance, we do want a profiler attached Honestly this isn't just a nice-to-have, I would have considered this essential functionality for a benchmarking tool Looks like I have a savior! https://github.com/dotnet/BenchmarkDotNet/blob/master/docs/articles/features/etwprofiler.md It's not exactly the VS profiler, but a really good start
mtreit
mtreit16mo ago
ETW profiling is what the people who actually work on .NET use anyway... At least on Windows I'm not sure about linux
Accord
Accord16mo ago
Was this issue resolved? If so, run /close - otherwise I will mark this as stale and this post will be archived until there is new activity.
Want results from more Discord servers?
Add your server
More Posts