dotnet / aspnetcore

ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
https://asp.net
MIT License
35.37k stars 9.99k forks source link

Benchmark and improve shared `RequestDelegateCreation` test infrastructure #47907

Open captainsafia opened 1 year ago

captainsafia commented 1 year ago

The RequestDelegateGenerator uses Roslyn's testing APIs to validate the compile time and runtime behavior of RDG-enabled apps in tests.

As part of the work to share tests between the two implementations, we migrated RDF tests to use the same infrastructure.

The benefit of shared testing infrastructure comes with some downsides as we migrate more tests to the shared infrastructure. Some ideas that we can consider to improve test perf:

Update: profiling locally suggests that we can save a fair bit by avoiding the multiple calls to GetCompilationAsync and the loading of assembly references into the compilation.

ghost commented 1 year ago

Thanks for contacting us.

We're moving this issue to the .NET 8 Planning milestone for future evaluation / consideration. We would like to keep this around to collect more feedback, which can help us with prioritizing this work. We will re-evaluate this issue, during our next planning meeting(s). If we later determine, that the issue has no community involvement, or it's very rare and low-impact issue, we will close it - so that the team can focus on more important and high impact issues. To learn more about what to expect next and how this issue will be handled you can read more about our triage process here.

captainsafia commented 1 year ago

Moving this to rc2. This is not customer impacting so we shouldn't need to take this through a servicing call.

ghost commented 11 months ago

We've moved this issue to the Backlog milestone. This means that it is not going to be worked on for the coming release. We will reassess the backlog following the current release and consider this item at that time. To learn more about our issue management process and to have better expectation regarding different types of issues you can read our Triage Process.