Kinetica   C#   API  Version 7.2.3.1
Program.cs
Go to the documentation of this file.
1 using BenchmarkDotNet.Running;
2 using Kinetica.Benchmarks;
3 
4 // Check for command-line arguments
5 if (args.Length > 0)
6 {
7  var command = args[0].ToLowerInvariant();
8  if (command == "avro-standalone" || command == "--avro-standalone")
9  {
11  return;
12  }
13  else if (command == "avro" || command == "--avro")
14  {
15  var summary = BenchmarkRunner.Run<AvroDecodeBenchmarks>();
16  PrintSummary(summary);
17  return;
18  }
19 }
20 
21 // Default: Run BulkInserter benchmarks
22 {
23  var summary = BenchmarkRunner.Run<BulkInserterBenchmarks>();
24  PrintSummary(summary);
25 }
26 
27 static void PrintSummary(BenchmarkDotNet.Reports.Summary summary)
28 {
29  Console.WriteLine("\nBenchmark Summary:");
30  Console.WriteLine("==================");
31  Console.WriteLine($"Total benchmarks run: {summary.BenchmarksCases.Length}");
32  Console.WriteLine($"Total time: {summary.TotalTime}");
33 
34  // Print a simple summary
35  foreach (var report in summary.Reports)
36  {
37  if (report.Success)
38  {
39  var mean = report.ResultStatistics?.Mean ?? 0;
40  var ops = mean > 0 ? 1_000_000_000 / mean : 0; // ops per second
41  Console.WriteLine($"{report.BenchmarkCase.Descriptor.WorkloadMethodDisplayInfo}: {mean / 1_000_000:F2}ms mean, ~{ops:F0} ops/s");
42  }
43  else
44  {
45  Console.WriteLine($"{report.BenchmarkCase.Descriptor.WorkloadMethodDisplayInfo}: FAILED");
46  }
47  }
48 }
Benchmarks for the BulkInserter comparing different batch sizes, insertion methods,...
Standalone Avro decode benchmark runner (without BenchmarkDotNet).
static void PrintSummary(BenchmarkDotNet.Reports.Summary summary)
Definition: Program.cs:27