forked from SciSharp/NumSharp
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProgram.cs
More file actions
62 lines (57 loc) · 1.77 KB
/
Program.cs
File metadata and controls
62 lines (57 loc) · 1.77 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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
using System;
using System.Reflection;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Running;
using NumSharp.Benchmark.Unmanaged;
namespace NumSharp.Benchmark
{
class Program
{
/// <summary>
/// dotnet NumSharp.Benchmark.dll (Benchmark Class Name)
/// dotnet NumSharp.Benchmark.dll nparange
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
if (true)
{
var v = new Iterators();
v.Setup();
v.OffsetIncrementor();
}
if (args?.Length > 0)
{
for (int i = 0; i < args.Length; i++)
{
string method = $"NumSharp.Benchmark.{args[i]}";
var type = Type.GetType(method);
BenchmarkRunner.Run(type);
}
}
else
{
//#if DEBUG
// IConfig config = new DebugInProcessConfig();
//#else
// IConfig config = null;
//#endif
// BenchmarkSwitcher.FromAssembly(Assembly.GetExecutingAssembly()).Run(args, config);
BenchmarkSwitcher.FromAssembly(Assembly.GetExecutingAssembly()).Run(args, ManualConfig.Create(DefaultConfig.Instance).With(ConfigOptions.DisableOptimizationsValidator));
}
if (args?.Length > 0)
{
for (int i = 0; i < args.Length; i++)
{
string method = $"OMath.Benchmarks.{args[i]}";
var type = Type.GetType(method);
BenchmarkRunner.Run(type);
}
}
else
{
}
Console.ReadLine();
}
}
}