Table of Contents

Class GcMode

Namespace
BenchmarkDotNet.Jobs
Assembly
BenchmarkDotNet.dll
public sealed class GcMode : JobMode<GcMode>, IEquatable<GcMode>
Inheritance
GcMode
Implements
Inherited Members
Extension Methods

Constructors

GcMode()

public GcMode()

Fields

AllowVeryLargeObjectsCharacteristic

public static readonly Characteristic<bool> AllowVeryLargeObjectsCharacteristic

Field Value

Characteristic<bool>

ConcurrentCharacteristic

public static readonly Characteristic<bool> ConcurrentCharacteristic

Field Value

Characteristic<bool>

CpuGroupsCharacteristic

public static readonly Characteristic<bool> CpuGroupsCharacteristic

Field Value

Characteristic<bool>

ForceCharacteristic

public static readonly Characteristic<bool> ForceCharacteristic

Field Value

Characteristic<bool>

HeapAffinitizeMaskCharacteristic

public static readonly Characteristic<int> HeapAffinitizeMaskCharacteristic

Field Value

Characteristic<int>

HeapCountCharacteristic

public static readonly Characteristic<int> HeapCountCharacteristic

Field Value

Characteristic<int>

NoAffinitizeCharacteristic

public static readonly Characteristic<bool> NoAffinitizeCharacteristic

Field Value

Characteristic<bool>

RetainVmCharacteristic

public static readonly Characteristic<bool> RetainVmCharacteristic

Field Value

Characteristic<bool>

ServerCharacteristic

public static readonly Characteristic<bool> ServerCharacteristic

Field Value

Characteristic<bool>

Properties

AllowVeryLargeObjects

On 64-bit platforms, enables arrays that are greater than 2 gigabytes (GB) in total size. false: Arrays greater than 2 GB in total size are not enabled. This is the default. true: Arrays greater than 2 GB in total size are enabled on 64-bit platforms.

public bool AllowVeryLargeObjects { get; set; }

Property Value

bool

Concurrent

Specifies whether the common language runtime runs garbage collection on a separate thread. false: Does not run garbage collection concurrently. true: Runs garbage collection concurrently. This is the default.

public bool Concurrent { get; set; }

Property Value

bool

CpuGroups

Specifies whether garbage collection supports multiple CPU groups. false: Garbage collection does not support multiple CPU groups. This is the default. true: Garbage collection supports multiple CPU groups, if server garbage collection is enabled.

public bool CpuGroups { get; set; }

Property Value

bool

Force

Specifies whether the BenchmarkDotNet's benchmark runner forces full garbage collection after each benchmark invocation false: Does not force garbage collection. true: Forces full garbage collection after each benchmark invocation. This is the default.

public bool Force { get; set; }

Property Value

bool

HeapAffinitizeMask

process mask, see MSDN for more.

public int HeapAffinitizeMask { get; set; }

Property Value

int

HeapCount

specify the # of Server GC threads/heaps, must be smaller than the # of logical CPUs the process is allowed to run on, ie, if you don't specifically affinitize your process it means the # of total logical CPUs on the machine; otherwise this is the # of logical CPUs you affinitized your process to.

public int HeapCount { get; set; }

Property Value

int

NoAffinitize

specify true to disable hard affinity of Server GC threads to CPUs

public bool NoAffinitize { get; set; }

Property Value

bool

RetainVm

Put segments that should be deleted on a standby list for future use instead of releasing them back to the OS The default is false

public bool RetainVm { get; set; }

Property Value

bool

Server

Specifies whether the common language runtime runs server garbage collection. false: Does not run server garbage collection. This is the default. true: Runs server garbage collection.

public bool Server { get; set; }

Property Value

bool

Methods

Equals(GcMode)

public bool Equals(GcMode other)

Parameters

other GcMode

Returns

bool

GetHashCode()

public override int GetHashCode()

Returns

int