Ejemplo n.º 1
0
        internal static void Init(bool systemRequired, GlobalConfig.EOptimizationMode optimizationMode)
        {
            if (!Enum.IsDefined(typeof(GlobalConfig.EOptimizationMode), optimizationMode))
            {
                ASF.ArchiLogger.LogNullError(nameof(optimizationMode));

                return;
            }

            if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
            {
                if (systemRequired)
                {
                    KeepWindowsSystemActive();
                }
            }

            switch (optimizationMode)
            {
            case GlobalConfig.EOptimizationMode.MaxPerformance:
                // No specific tuning required for now, ASF is optimized for max performance by default
                break;

            case GlobalConfig.EOptimizationMode.MinMemoryUsage:
                // We can disable regex cache which will slightly lower memory usage (for a huge performance hit)
                Regex.CacheSize = 0;

                break;

            default:
                ASF.ArchiLogger.LogGenericError(string.Format(Strings.WarningUnknownValuePleaseReport, nameof(optimizationMode), optimizationMode));

                return;
            }
        }
Ejemplo n.º 2
0
        internal static void Init(bool systemRequired, GlobalConfig.EOptimizationMode optimizationMode)
        {
            if (!Enum.IsDefined(typeof(GlobalConfig.EOptimizationMode), optimizationMode))
            {
                throw new ArgumentNullException(nameof(optimizationMode));
            }

            if (IsWindows)
            {
                if (systemRequired)
                {
                    WindowsKeepSystemActive();
                }
            }

            switch (optimizationMode)
            {
            case GlobalConfig.EOptimizationMode.MaxPerformance:
                // No specific tuning required for now, ASF is optimized for max performance by default
                break;

            case GlobalConfig.EOptimizationMode.MinMemoryUsage:
                // We can disable regex cache which will slightly lower memory usage (for a huge performance hit)
                Regex.CacheSize = 0;

                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(optimizationMode));
            }
        }