-
Notifications
You must be signed in to change notification settings - Fork 326
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
16.3.0 is 2.7-3.5x slower than 16.3.0-preview-20190828-03 on Windows only #2215
Comments
@ViktorHofer After moving to using the apphost feature, we are observing a significant degradation in performance. Could you help point out what could be going wrong here? |
cc @vitek-karas can you please loop in the right people that can help with the apphost scenario? |
For now that would be me... We haven't seen any performance issues with
I just want to make sure we're trying to diagnose the right component. |
I can confirm that this appears to be apphost related. If I delete |
I think the next step is to figure out if the regression happens because the logic which runs the testhost changes behavior based on presence of Would it be possible to extract the command line (and environment) with which the testhost is started, and then try to run it via |
Parent dotnet.exe + testhost process environments are the same with and without an apphost. The only difference in command line args is the testhost process args: port number is different, and if you delete testhost.exe, an extra argument to testhost.dll is added (in .nuget cache). This testhost.dll is the same as the one in the output dir. |
This is weird - I did repro the problem (thanks for the relatively easy repro!), but I kind of doubt it has to do specifically with Fast version
Slow version
So clearly almost the entire regression is in the caller of the testhost, and not the testhost itself. Now this doesn't mean that there's something different about the testhost itself, but I think it's a strong indicator that the caller does something very differently. |
I think the bug is in this code: Note that in the |
When the protocol version is not 2, a lot of / all json data is ~3x the normal size. |
Looks like PR #2206 will fix this issue since the call to GetTestHostPath() is always executed. |
@0xd4d I guess you hit the bull's eye. @vagisha-nidhi Let's update your PR with the discussed changes and that should take care of all the scenarios. |
This might also be related to #2189. |
Microsoft.NET.Test.Sdk
16.3.0
is 2.7-3.5x slower than any other previous version including16.3.0-preview-20190828-03
This is not #2120 since I can't repro it on Linux, only on Windows.
Repro
Iced.UnitTests/Iced.UnitTests.csproj
and changeMicrosoft.NET.Test.Sdk
version to16.3.0
Notes:
It's 3.5x slower when I build it on my own machine.
Getting logs failed:
The text was updated successfully, but these errors were encountered: