2

I can set the GCLatencyMode to Batch, Interactive or SustainedLowLatency. Does varying the value of the <gcConcurrent> element (link) give me any additional options on top of the latency mode? It's not immediately obvious how these things interact (other than Batch disables concurrent).

I'm using server GC.

Rob
  • 4,327
  • 6
  • 29
  • 55
  • Note: From experimentation, varying `gcConcurrent` doesn't appear to give me any new options over the `GCLatencyMode`, but it's hard to be certain. – Rob Nov 30 '13 at 12:28
  • http://apmblog.compuware.com/2009/04/13/performance-analysis-comparing-interactive-and-low-latency-gc-strategies-in-net/ – Kaushik Jul 31 '14 at 12:52

1 Answers1

0

Thought I'd create an answer to this, now that we have some clarity from the MS docs. Have run some tests to confirm this behaviour.

Varying gcConcurrent will not give you additional options but will have an affect on which latency modes are available:

  • If gcConcurrent is disabled, then it is not possible to set the latency mode to SustainedLowLatency - it will just default to Batch as if GCSettings.LatencyMode were not set. It is still possible to set it to LowLatency.
  • If gcConcurrent is enabled, then you can set the latency mode to either SustainedLowLatency or LowLatency. Then if GCSettings.LatencyMode is not set, it will default to Interactive
Ben Hall
  • 1,353
  • 10
  • 19