/// <summary> /// Extracts tasks, their ids and runtimes /// </summary> /// <returns> /// All tasks from the configuration file /// </returns> /// <param name="configFileContent">Content of a configuration file</param> public static Dictionary <string, float> GetTasks(string configFileContent) { Regex taksksRx = new Regex($@"TASK-ID,RUNTIME(?:{FileParser.NewLineRx})(?:\s*(\d+),(\d+(?:\.\d+)?)(?:{FileParser.NewLineRx})?)+"); List <string> tasksData = FileParser.GetCaptureValues(configFileContent, taksksRx); Dictionary <string, float> tasks = new Dictionary <string, float>(); // tasksData includes task-ids and task runtimes int tasksCount = tasksData.Count / 2; for (int i = 0; i < tasksCount; i++) { tasks.Add(tasksData[i].ToString(), float.Parse(tasksData[tasksCount + i])); } return(tasks); }
/// <summary> /// Extracts processors, their ids and frequencies. /// </summary> /// <returns> /// Processors - their ids and frequencies /// </returns> /// <param name="configFileContent">Content of a configuration file</param> public static Dictionary <string, float> GetProcessors(string configFileContent) { Regex processorsRx = new Regex($@"PROCESSOR-ID,FREQUENCY(?:{FileParser.NewLineRx})(?:\s*(\d+),(\d+(?:\.\d+))?(?:{FileParser.NewLineRx})?)+"); List <string> processorsData = FileParser.GetCaptureValues(configFileContent, processorsRx); Dictionary <string, float> processors = new Dictionary <string, float>(); // processorsData includes processors-ids and their frequencies int processorsCount = processorsData.Count / 2; for (int i = 0; i < processorsCount; i++) { processors.Add(processorsData[i].ToString(), float.Parse(processorsData[processorsCount + i])); } return(processors); }