Tim Cassell

Results 245 comments of Tim Cassell

It might actually be okay to keep the measurement in the engine, because the async state machine checking if the ValueTask is already complete is just a null check, which...

I started looking at this, and changing the engine itself to be async has a lot of repercussions across the entire library. The main issue isn't the refactoring of the...

#1941 Is a stop-gap to get ValueTasks to work again. It is still using the less-efficient (more overhead) synchronous blocking for each benchmark method call. A more efficient (less overhead)...

I did some refactoring to move the measurement to the workload call and do proper awaits on the returned `(Value)Task`, and the results are interesting. ```cs [Benchmark] public async Task...

Measuring `ValueTask` instead of `Task`: Current: | Method | Mean | Error | StdDev | Median | Gen 0 | Allocated | |--------------- |--------------:|----------:|----------:|--------------:|-------:|----------:| | AsyncYield | 1,896.6121 ns |...

Also what about in-process benchmarks? I know allocations results will be affected, but I'm not sure what else might be. And what about P-cores vs E-cores on Intel cpus (actually,...

> > On my 24-core machine the time to run dotnet/performance benchmarks dropped from 9h 49m to half an hour ;) > > Wow! What about perf tests that need...

What if you just run `GetExtraStats` twice, only using the results from the second run (or the lesser of both runs)?

@adamsitnik I noticed you showed that the issue is not apparent in .NET 5.0, which I find strange because I posted an issue in runtime (https://github.com/dotnet/runtime/issues/45446) that demonstrates memory measurement...

Also @adamsitnik I was looking at `RuntimeHelpers.PrepareDelegate` and `RuntimeHelpers.PrepareMethod` which I was hoping would help me with my PR. Sadly, it didn't, but it might help here if it really...