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

Server GC mode for compiler #414

Closed
wants to merge 1 commit into from
Closed

Conversation

latkin
Copy link
Contributor

@latkin latkin commented May 4, 2015

As mentioned in #404.

I don't think we should change fsi/fsianycpu, as those are sometimes used to drive interactive UIs, which benefit from the increased responsiveness of the default GC.

@KevinRansom
Copy link
Member

Unfortunately, the exact same change will need to be made in the internal build. But the improvements look very desirable.

Looks good to me.

@enricosada
Copy link
Contributor

@latkin can you try with gcConcurrent = false?

note on gcServer msdn

In the .NET Framework 4 and earlier versions, concurrent garbage collection is not available when server garbage collection is enabled. Starting with the .NET Framework 4.5, server garbage collection is concurrent. To use non-concurrent server garbage collection, set the element to true and the element to false

the gcConcurrent msdn :

By default, the runtime uses concurrent or background garbage collection, which is optimized for latency. If your application involves heavy user interaction, leave concurrent garbage collection enabled to minimize the application's pause time to perform garbage collection. If you set the enabled attribute of the element to false, the runtime uses non-concurrent garbage collection, which is optimized for throughput. The following configuration file disables background garbage collection

@latkin
Copy link
Contributor Author

latkin commented May 5, 2015

@enricosada I looked at that, but it actually does not apply, due to our use of GCLatencyMode.Batch. Per docs:

This mode overrides the runtime configuration setting. If is enabled, switching to Batch mode prevents any further concurrent collections.

@enricosada
Copy link
Contributor

ah ok, nice to know. I saw the docs , and was worth a try to ask for it.

@latkin
Copy link
Contributor Author

latkin commented May 5, 2015

I will leave a short comment so that if Batch mode is ever changed/removed, developer will know to investigate gcConcurrent. Thanks for the reminder.

@latkin latkin closed this in cf653b1 May 5, 2015
@latkin latkin added the fixed label May 5, 2015
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.

4 participants