public static void BaseInitialize()
        {
            HardwareManager.VerifyHardwareSoftwareCompatability();

            int minNumThreads = Math.Min(96, System.Environment.ProcessorCount * 4);

            System.Threading.ThreadPool.SetMinThreads(minNumThreads, 32);
            GCSettings.LatencyMode = GCLatencyMode.Batch;

            HardwareManager.Initialize(true);

            if (CeresEnvironment.MONITORING_METRICS && RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
            {
                // TODO: log this. Console.WriteLine($"dotnet-counters  monitor --process-id {Process.GetCurrentProcess().Id} Ceres System.Runtime Ceres.MCTS.Environment.MCTSEventSource");
                EventSourceCeres.ENABLED = true;
                EventSourceCeres.LaunchConsoleMonitor("Ceres.MCTS.Environment.MCTSEventSource");
            }

            MCTSEventSource.Initialize();
        }