-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathExecutionResult.cs
More file actions
48 lines (43 loc) · 1.82 KB
/
Copy pathExecutionResult.cs
File metadata and controls
48 lines (43 loc) · 1.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
using System;
using Auto_Statistic.Storage;
namespace Auto_Statistic
{
public partial class Executor
{
[Serializable]
public struct ExecutionResult
{
public string programName;
public string interpArgs;
public string arguments;
public int threadsCount;
public double avgExecTime;
public double variance;
public float maxMemUsage;
public float maxCpuUsage;
public float avgCpuUsage;
public ExecutionStatus execStatus;
private static string CsvStringBuilder(string programName, string interprArgs, string arguments, string threadsCount,
string avgExecTime, string variance, string maxMemUsage, string maxCpuUsage, string avgCpuUsage,
string execStatus)
{
return $"\"{programName}\";\"{arguments}\";\"{threadsCount}\";\"{avgExecTime}\";\"{variance}\";\"{maxMemUsage}\";\"{maxCpuUsage}\";\"{avgCpuUsage}\";\"{execStatus}\"";
}
public static string CsvNames()
{
return CsvStringBuilder("Program", "Interpr Args", "Arguments", "Threads", "Time, s", "Variance", "Max RAM, MB",
"Max CPU, %", "Avg CPU, %", "Status");
}
public static string CsvEmpty()
{
return CsvStringBuilder("","", "", "", "", "", "", "", "", "");
}
public string CsvResults()
{
return CsvStringBuilder(programName, interpArgs, arguments, threadsCount.ToString(), avgExecTime.ToString("F3"),
variance.ToString("F4"), maxMemUsage.ToString("F"), maxCpuUsage.ToString("P2"),
avgCpuUsage.ToString("P2"), execStatus.ToString());
}
}
}
}