Vixen
02b45cc4
csharp
public sealed class DesktopProcessorTopology

Processor counts from SDL. Affinity belongs to the per-OS assemblies.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

AvailableProcessors uses ProcessorCount rather than SDL_GetCPUCount: the runtime's number accounts for a container's CPU quota and the process affinity mask, and SDL's does not. Sizing a worker pool from SDL's would spawn sixty-four workers against a two-core quota.

Fields and properties (4)

  • public int AvailableProcessors

    How many logical processors this process may actually run on.

  • public int PhysicalCores

    What SDL reports, which is logical processors — it has no physical-core query.

  • public int PerformanceCores

    Always 0: SDL does not distinguish performance from efficiency cores.

  • public bool SupportsAffinity

    Always : SDL has no affinity API.

Methods (4)

  • public DesktopProcessorTopology(Sdl sdl)

    Processor counts from SDL. Affinity belongs to the per-OS assemblies.

  • public ProcessorClass ClassOf(int processor)

    What kind of core a logical processor sits on.

  • public bool TrySetAffinity(int processor)

    Pins the calling thread to one logical processor.

  • public void ClearAffinity()

    Undoes a previous TrySetAffinity for the calling thread.

Used by (2)

  • DesktopPlatformVixen.Platform.Desktop
  • DesktopSupplementTestsVixen.Platform.Desktop.Tests