public static void RunSieve(SettingsV1 runSettings) { Console.WriteLine($"@Kinematics: Starting ({GetVersionMessage(runSettings)})..."); if (RunStructs(runSettings)) { return; } Func <ISieve> createSieve = GetSieveCreator(runSettings); long durationLimit = runSettings.SecondsToRun * MillisecondsPerSecond; Stopwatch watch = Stopwatch.StartNew(); var(sieve, passes) = runSettings.MultiThreaded switch { true => RunMultiThread(createSieve, watch, durationLimit, runSettings.ThreadCount), false => RunSingleThread(createSieve, watch, durationLimit), }; watch.Stop(); if (sieve is not null) { PrintResults(sieve, passes, watch, runSettings); } else { Console.WriteLine("Invalid state after run."); } }
public static Settings Load(String a_Path) { SettingsV1 oldSettings = LoadV1(a_Path); Settings result = new Settings(); result.Options = oldSettings.Options; result.PriceLoad = Convert_PriceLoad(oldSettings.PriceLoad); result.MaterialPrices = oldSettings.MaterialPrices; result.ApiAccess = oldSettings.ApiAccess; result.Stats = oldSettings.Stats; result.Refining = oldSettings.Refining; result.Appearance = oldSettings.Appearance; result.UILocations = oldSettings.UILocations; return(result); }
public static void RunAllSieves(SettingsV1 options) { SettingsV1 tmpOptions = options.CopyOptions(); tmpOptions.Original = true; RunSieve(tmpOptions); Console.WriteLine(); tmpOptions = options.CopyOptions(); tmpOptions.Standard = true; RunSieve(tmpOptions); Console.WriteLine(); tmpOptions = options.CopyOptions(); tmpOptions.BoolArray = true; RunSieve(tmpOptions); Console.WriteLine(); tmpOptions = options.CopyOptions(); tmpOptions.InvertedBoolArray = true; RunSieve(tmpOptions); Console.WriteLine(); tmpOptions = options.CopyOptions(); tmpOptions.DirectInvertedBoolArray = true; RunSieve(tmpOptions); Console.WriteLine(); tmpOptions = options.CopyOptions(); tmpOptions.RawBits = true; RunSieve(tmpOptions); Console.WriteLine(); tmpOptions = options.CopyOptions(); tmpOptions.RawBits32 = true; RunSieve(tmpOptions); Console.WriteLine(); tmpOptions = options.CopyOptions(); tmpOptions.RawBitsDirect = true; RunSieve(tmpOptions); Console.WriteLine(); tmpOptions = options.CopyOptions(); tmpOptions.RawBits2Of6 = true; RunSieve(tmpOptions); Console.WriteLine(); tmpOptions = options.CopyOptions(); tmpOptions.RawParallel = true; RunSieve(tmpOptions); Console.WriteLine(); tmpOptions = options.CopyOptions(); tmpOptions.ArrayPool = true; RunSieve(tmpOptions); Console.WriteLine(); tmpOptions = options.CopyOptions(); tmpOptions.ArrayPool2Of6 = true; RunSieve(tmpOptions); Console.WriteLine(); tmpOptions = options.CopyOptions(); tmpOptions.ArrayPool6P = true; RunSieve(tmpOptions); Console.WriteLine(); tmpOptions = options.CopyOptions(); tmpOptions.ArrayPool8of30 = true; RunSieve(tmpOptions); Console.WriteLine(); tmpOptions = options.CopyOptions(); tmpOptions.ArrayPool8of30M = true; RunSieve(tmpOptions); }
private static string GetVersionMessage(SettingsV1 runSettings) { string versionMessage = runSettings switch { { Original : true } => "original",