41 lines
726 B
C#
41 lines
726 B
C#
using BenchmarkDotNet.Attributes;
|
|
using BenchmarkDotNet.Running;
|
|
|
|
BenchmarkRunner.Run<PowVsManualSquare>();
|
|
|
|
[SimpleJob]
|
|
public class PowVsManualSquare
|
|
{
|
|
[Benchmark]
|
|
[Arguments(1, 2)]
|
|
[Arguments(10, 3)]
|
|
[Arguments(100, 4)]
|
|
public double Pow(double x, int y)
|
|
{
|
|
return Math.Pow(x, 2);
|
|
}
|
|
|
|
[Benchmark]
|
|
[Arguments(1, 2)]
|
|
[Arguments(10, 3)]
|
|
[Arguments(100, 4)]
|
|
public double ForLoop(double x, int y)
|
|
{
|
|
var result = 1.0;
|
|
|
|
for (var i = 0; i < y; i++)
|
|
result *= x;
|
|
|
|
return result;
|
|
}
|
|
|
|
[Benchmark]
|
|
[Arguments(1)]
|
|
[Arguments(10)]
|
|
[Arguments(100)]
|
|
public double XTimesX(double x)
|
|
{
|
|
return x * x;
|
|
}
|
|
}
|