Skip to content
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

Run tests with Server GC enabled & concurrent GC disabled. #3661

Merged
merged 1 commit into from
Aug 3, 2022

Conversation

JoshKeegan
Copy link
Contributor

Description

Maximises throughput over latency, reducing runtime for larger test packs or tests that will create a lot of objects on the heap.

Related issue

See discussion in #1967
There was also an older PR for these changes that got closed due to inactivity, that also contains some relevant discussion. See #1987

Maximises throughput over latency, reducing runtime for very large test packs.
@nohwnd nohwnd merged commit 02c6f32 into microsoft:main Aug 3, 2022
nohwnd added a commit to nohwnd/vstest that referenced this pull request Nov 1, 2022
@MarcoRossignoli
Copy link
Contributor

@nohwnd @Evangelink I think we should revert this one and add an option inside the runsetting for the host mode.

MarcoRossignoli pushed a commit to MarcoRossignoli/vstest that referenced this pull request Nov 2, 2022
MarcoRossignoli added a commit that referenced this pull request Nov 2, 2022
MarcoRossignoli added a commit to MarcoRossignoli/vstest that referenced this pull request Nov 2, 2022
MarcoRossignoli added a commit that referenced this pull request Nov 2, 2022
@cjprecord
Copy link

Would second the suggestion to revert this and add to runsettings.

This change is causing some issues on some test suites I have that test library code that is used to help with GC management for some soft realtime applications. With concurrent disabled in the test host any of the calls to

GCSettings.LatencyMode = GCLatencyMode.SustainedLowLatency;

Silently become a no-op with the mode staying as Batch (or Interactive if was previously changed) so the code that is verifying these expected state changes in the GCSettings are not able to be verified.

@Evangelink
Copy link
Member

Hi @cjprecord, the change was actually reverted. We didn't do any runsettings option to enable it so we are back to previous state and so you shouldn't be experiencing any issue if you are using the stable release.

@cjprecord
Copy link

cjprecord commented Dec 8, 2022

Hi @Evangelink, I had just updated to VS 17.4.2 the other day when started having this problem. Which eventually lead me to find that the the testhost app config files deployed with the installation appear to have this change in them with gcConcurrent set to false. Editing the file and setting to true I am able to run the tests successfully again.

Based on the date in the version, maybe the visual studio release picked up the version that still had the change in it
image

@MarcoRossignoli
Copy link
Contributor

@cjprecord the revert will be included inside 17.4.3 release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants