Skip to content

Instantly share code, notes, and snippets.

@magnusbakken
Created November 19, 2019 10:12
Show Gist options
  • Save magnusbakken/36296690dc44123a1bd944d6c4f71eb0 to your computer and use it in GitHub Desktop.
Save magnusbakken/36296690dc44123a1bd944d6c4f71eb0 to your computer and use it in GitHub Desktop.
Comparison of different methods of creating hex output for a byte array with Benchmark.NET.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BenchmarkDotNet.Attributes;
namespace HexBenchmark
{
public class Algorithms
{
[Params(new byte[] { 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef })]
public byte[] ByteArrayInput { get; set; }
[Benchmark]
public string WithStringJoin()
{
return string.Join("", ByteArrayInput.Select(b => b.ToString("x2")));
}
[Benchmark]
public string WithStringBuilder()
{
var builder = new StringBuilder(ByteArrayInput.Length * 2);
foreach (var @byte in ByteArrayInput)
builder.Append(@byte.ToString("x2"));
return builder.ToString();
}
[Benchmark]
public string WithStringBuilderForInt()
{
var l = ByteArrayInput.Length;
var builder = new StringBuilder(l * 2);
for (var i = 0; i < l; i++)
builder.Append(ByteArrayInput[i].ToString("x2"));
return builder.ToString();
}
[Benchmark]
public string WithBitConverter()
{
return BitConverter.ToString(ByteArrayInput).Replace("-", null).ToLowerInvariant();
}
[Benchmark]
public string WithCharArray()
{
char Hex(int b) => b < 10 ? (char)(b + '0') : (char)(b - 10 + 'a');
var l = ByteArrayInput.Length;
var result = new char[l * 2];
for (var i = 0; i < l; i++)
{
var b = ByteArrayInput[i];
var i2 = i * 2;
result[i2] = Hex(b / 16);
result[i2 + 1] = Hex(b % 16);
}
return new string(result);
}
[Benchmark]
public string WithBitShifts()
{
char Hex(int b) => b < 10 ? (char)(b + '0') : (char)(b - 10 + 'a');
var l = ByteArrayInput.Length;
var result = new char[l * 2];
for (var i = 0; i < l; i++)
{
var b = ByteArrayInput[i];
var i2 = i * 2;
result[i2] = Hex(b >> 4);
result[i2 + 1] = Hex(b & 15);
}
return new string(result);
}
Dictionary<byte, (char, char)> Mapping = new Dictionary<byte, (char, char)>()
{
[0x00] = ('0', '0'),
[0x01] = ('0', '1'),
[0x02] = ('0', '2'),
[0x03] = ('0', '3'),
[0x04] = ('0', '4'),
[0x05] = ('0', '5'),
[0x06] = ('0', '6'),
[0x07] = ('0', '7'),
[0x08] = ('0', '8'),
[0x09] = ('0', '9'),
[0x0a] = ('0', 'a'),
[0x0b] = ('0', 'b'),
[0x0c] = ('0', 'c'),
[0x0d] = ('0', 'd'),
[0x0e] = ('0', 'e'),
[0x0f] = ('0', 'f'),
[0x10] = ('1', '0'),
[0x11] = ('1', '1'),
[0x12] = ('1', '2'),
[0x13] = ('1', '3'),
[0x14] = ('1', '4'),
[0x15] = ('1', '5'),
[0x16] = ('1', '6'),
[0x17] = ('1', '7'),
[0x18] = ('1', '8'),
[0x19] = ('1', '9'),
[0x1a] = ('1', 'a'),
[0x1b] = ('1', 'b'),
[0x1c] = ('1', 'c'),
[0x1d] = ('1', 'd'),
[0x1e] = ('1', 'e'),
[0x1f] = ('1', 'f'),
[0x20] = ('2', '0'),
[0x21] = ('2', '1'),
[0x22] = ('2', '2'),
[0x23] = ('2', '3'),
[0x24] = ('2', '4'),
[0x25] = ('2', '5'),
[0x26] = ('2', '6'),
[0x27] = ('2', '7'),
[0x28] = ('2', '8'),
[0x29] = ('2', '9'),
[0x2a] = ('2', 'a'),
[0x2b] = ('2', 'b'),
[0x2c] = ('2', 'c'),
[0x2d] = ('2', 'd'),
[0x2e] = ('2', 'e'),
[0x2f] = ('2', 'f'),
[0x30] = ('3', '0'),
[0x31] = ('3', '1'),
[0x32] = ('3', '2'),
[0x33] = ('3', '3'),
[0x34] = ('3', '4'),
[0x35] = ('3', '5'),
[0x36] = ('3', '6'),
[0x37] = ('3', '7'),
[0x38] = ('3', '8'),
[0x39] = ('3', '9'),
[0x3a] = ('3', 'a'),
[0x3b] = ('3', 'b'),
[0x3c] = ('3', 'c'),
[0x3d] = ('3', 'd'),
[0x3e] = ('3', 'e'),
[0x3f] = ('3', 'f'),
[0x40] = ('4', '0'),
[0x41] = ('4', '1'),
[0x42] = ('4', '2'),
[0x43] = ('4', '3'),
[0x44] = ('4', '4'),
[0x45] = ('4', '5'),
[0x46] = ('4', '6'),
[0x47] = ('4', '7'),
[0x48] = ('4', '8'),
[0x49] = ('4', '9'),
[0x4a] = ('4', 'a'),
[0x4b] = ('4', 'b'),
[0x4c] = ('4', 'c'),
[0x4d] = ('4', 'd'),
[0x4e] = ('4', 'e'),
[0x4f] = ('4', 'f'),
[0x50] = ('5', '0'),
[0x51] = ('5', '1'),
[0x52] = ('5', '2'),
[0x53] = ('5', '3'),
[0x54] = ('5', '4'),
[0x55] = ('5', '5'),
[0x56] = ('5', '6'),
[0x57] = ('5', '7'),
[0x58] = ('5', '8'),
[0x59] = ('5', '9'),
[0x5a] = ('5', 'a'),
[0x5b] = ('5', 'b'),
[0x5c] = ('5', 'c'),
[0x5d] = ('5', 'd'),
[0x5e] = ('5', 'e'),
[0x5f] = ('5', 'f'),
[0x60] = ('6', '0'),
[0x61] = ('6', '1'),
[0x62] = ('6', '2'),
[0x63] = ('6', '3'),
[0x64] = ('6', '4'),
[0x65] = ('6', '5'),
[0x66] = ('6', '6'),
[0x67] = ('6', '7'),
[0x68] = ('6', '8'),
[0x69] = ('6', '9'),
[0x6a] = ('6', 'a'),
[0x6b] = ('6', 'b'),
[0x6c] = ('6', 'c'),
[0x6d] = ('6', 'd'),
[0x6e] = ('6', 'e'),
[0x6f] = ('6', 'f'),
[0x70] = ('7', '0'),
[0x71] = ('7', '1'),
[0x72] = ('7', '2'),
[0x73] = ('7', '3'),
[0x74] = ('7', '4'),
[0x75] = ('7', '5'),
[0x76] = ('7', '6'),
[0x77] = ('7', '7'),
[0x78] = ('7', '8'),
[0x79] = ('7', '9'),
[0x7a] = ('7', 'a'),
[0x7b] = ('7', 'b'),
[0x7c] = ('7', 'c'),
[0x7d] = ('7', 'd'),
[0x7e] = ('7', 'e'),
[0x7f] = ('7', 'f'),
[0x80] = ('8', '0'),
[0x81] = ('8', '1'),
[0x82] = ('8', '2'),
[0x83] = ('8', '3'),
[0x84] = ('8', '4'),
[0x85] = ('8', '5'),
[0x86] = ('8', '6'),
[0x87] = ('8', '7'),
[0x88] = ('8', '8'),
[0x89] = ('8', '9'),
[0x8a] = ('8', 'a'),
[0x8b] = ('8', 'b'),
[0x8c] = ('8', 'c'),
[0x8d] = ('8', 'd'),
[0x8e] = ('8', 'e'),
[0x8f] = ('8', 'f'),
[0x90] = ('9', '0'),
[0x91] = ('9', '1'),
[0x92] = ('9', '2'),
[0x93] = ('9', '3'),
[0x94] = ('9', '4'),
[0x95] = ('9', '5'),
[0x96] = ('9', '6'),
[0x97] = ('9', '7'),
[0x98] = ('9', '8'),
[0x99] = ('9', '9'),
[0x9a] = ('9', 'a'),
[0x9b] = ('9', 'b'),
[0x9c] = ('9', 'c'),
[0x9d] = ('9', 'd'),
[0x9e] = ('9', 'e'),
[0x9f] = ('9', 'f'),
[0xa0] = ('a', '0'),
[0xa1] = ('a', '1'),
[0xa2] = ('a', '2'),
[0xa3] = ('a', '3'),
[0xa4] = ('a', '4'),
[0xa5] = ('a', '5'),
[0xa6] = ('a', '6'),
[0xa7] = ('a', '7'),
[0xa8] = ('a', '8'),
[0xa9] = ('a', '9'),
[0xaa] = ('a', 'a'),
[0xab] = ('a', 'b'),
[0xac] = ('a', 'c'),
[0xad] = ('a', 'd'),
[0xae] = ('a', 'e'),
[0xaf] = ('a', 'f'),
[0xb0] = ('b', '0'),
[0xb1] = ('b', '1'),
[0xb2] = ('b', '2'),
[0xb3] = ('b', '3'),
[0xb4] = ('b', '4'),
[0xb5] = ('b', '5'),
[0xb6] = ('b', '6'),
[0xb7] = ('b', '7'),
[0xb8] = ('b', '8'),
[0xb9] = ('b', '9'),
[0xba] = ('b', 'a'),
[0xbb] = ('b', 'b'),
[0xbc] = ('b', 'c'),
[0xbd] = ('b', 'd'),
[0xbe] = ('b', 'e'),
[0xbf] = ('b', 'f'),
[0xc0] = ('c', '0'),
[0xc1] = ('c', '1'),
[0xc2] = ('c', '2'),
[0xc3] = ('c', '3'),
[0xc4] = ('c', '4'),
[0xc5] = ('c', '5'),
[0xc6] = ('c', '6'),
[0xc7] = ('c', '7'),
[0xc8] = ('c', '8'),
[0xc9] = ('c', '9'),
[0xca] = ('c', 'a'),
[0xcb] = ('c', 'b'),
[0xcc] = ('c', 'c'),
[0xcd] = ('c', 'd'),
[0xce] = ('c', 'e'),
[0xcf] = ('c', 'f'),
[0xd0] = ('d', '0'),
[0xd1] = ('d', '1'),
[0xd2] = ('d', '2'),
[0xd3] = ('d', '3'),
[0xd4] = ('d', '4'),
[0xd5] = ('d', '5'),
[0xd6] = ('d', '6'),
[0xd7] = ('d', '7'),
[0xd8] = ('d', '8'),
[0xd9] = ('d', '9'),
[0xda] = ('d', 'a'),
[0xdb] = ('d', 'b'),
[0xdc] = ('d', 'c'),
[0xdd] = ('d', 'd'),
[0xde] = ('d', 'e'),
[0xdf] = ('d', 'f'),
[0xe0] = ('e', '0'),
[0xe1] = ('e', '1'),
[0xe2] = ('e', '2'),
[0xe3] = ('e', '3'),
[0xe4] = ('e', '4'),
[0xe5] = ('e', '5'),
[0xe6] = ('e', '6'),
[0xe7] = ('e', '7'),
[0xe8] = ('e', '8'),
[0xe9] = ('e', '9'),
[0xea] = ('e', 'a'),
[0xeb] = ('e', 'b'),
[0xec] = ('e', 'c'),
[0xed] = ('e', 'd'),
[0xee] = ('e', 'e'),
[0xef] = ('e', 'f'),
[0xf0] = ('f', '0'),
[0xf1] = ('f', '1'),
[0xf2] = ('f', '2'),
[0xf3] = ('f', '3'),
[0xf4] = ('f', '4'),
[0xf5] = ('f', '5'),
[0xf6] = ('f', '6'),
[0xf7] = ('f', '7'),
[0xf8] = ('f', '8'),
[0xf9] = ('f', '9'),
[0xfa] = ('f', 'a'),
[0xfb] = ('f', 'b'),
[0xfc] = ('f', 'c'),
[0xfd] = ('f', 'd'),
[0xfe] = ('f', 'e'),
[0xff] = ('f', 'f'),
};
[Benchmark]
public string WithLookupTable()
{
var result = new char[ByteArrayInput.Length * 2];
for (var i = 0; i < ByteArrayInput.Length; i++)
{
var b = ByteArrayInput[i];
var i2 = i * 2;
var (c1, c2) = Mapping[b];
result[i2] = c1;
result[i2 + 1] = c2;
}
return new string(result);
}
(char, char)[] ByteValues = new[]
{
('0', '0'),
('0', '1'),
('0', '2'),
('0', '3'),
('0', '4'),
('0', '5'),
('0', '6'),
('0', '7'),
('0', '8'),
('0', '9'),
('0', 'a'),
('0', 'b'),
('0', 'c'),
('0', 'd'),
('0', 'e'),
('0', 'f'),
('1', '0'),
('1', '1'),
('1', '2'),
('1', '3'),
('1', '4'),
('1', '5'),
('1', '6'),
('1', '7'),
('1', '8'),
('1', '9'),
('1', 'a'),
('1', 'b'),
('1', 'c'),
('1', 'd'),
('1', 'e'),
('1', 'f'),
('2', '0'),
('2', '1'),
('2', '2'),
('2', '3'),
('2', '4'),
('2', '5'),
('2', '6'),
('2', '7'),
('2', '8'),
('2', '9'),
('2', 'a'),
('2', 'b'),
('2', 'c'),
('2', 'd'),
('2', 'e'),
('2', 'f'),
('3', '0'),
('3', '1'),
('3', '2'),
('3', '3'),
('3', '4'),
('3', '5'),
('3', '6'),
('3', '7'),
('3', '8'),
('3', '9'),
('3', 'a'),
('3', 'b'),
('3', 'c'),
('3', 'd'),
('3', 'e'),
('3', 'f'),
('4', '0'),
('4', '1'),
('4', '2'),
('4', '3'),
('4', '4'),
('4', '5'),
('4', '6'),
('4', '7'),
('4', '8'),
('4', '9'),
('4', 'a'),
('4', 'b'),
('4', 'c'),
('4', 'd'),
('4', 'e'),
('4', 'f'),
('5', '0'),
('5', '1'),
('5', '2'),
('5', '3'),
('5', '4'),
('5', '5'),
('5', '6'),
('5', '7'),
('5', '8'),
('5', '9'),
('5', 'a'),
('5', 'b'),
('5', 'c'),
('5', 'd'),
('5', 'e'),
('5', 'f'),
('6', '0'),
('6', '1'),
('6', '2'),
('6', '3'),
('6', '4'),
('6', '5'),
('6', '6'),
('6', '7'),
('6', '8'),
('6', '9'),
('6', 'a'),
('6', 'b'),
('6', 'c'),
('6', 'd'),
('6', 'e'),
('6', 'f'),
('7', '0'),
('7', '1'),
('7', '2'),
('7', '3'),
('7', '4'),
('7', '5'),
('7', '6'),
('7', '7'),
('7', '8'),
('7', '9'),
('7', 'a'),
('7', 'b'),
('7', 'c'),
('7', 'd'),
('7', 'e'),
('7', 'f'),
('8', '0'),
('8', '1'),
('8', '2'),
('8', '3'),
('8', '4'),
('8', '5'),
('8', '6'),
('8', '7'),
('8', '8'),
('8', '9'),
('8', 'a'),
('8', 'b'),
('8', 'c'),
('8', 'd'),
('8', 'e'),
('8', 'f'),
('9', '0'),
('9', '1'),
('9', '2'),
('9', '3'),
('9', '4'),
('9', '5'),
('9', '6'),
('9', '7'),
('9', '8'),
('9', '9'),
('9', 'a'),
('9', 'b'),
('9', 'c'),
('9', 'd'),
('9', 'e'),
('9', 'f'),
('a', '0'),
('a', '1'),
('a', '2'),
('a', '3'),
('a', '4'),
('a', '5'),
('a', '6'),
('a', '7'),
('a', '8'),
('a', '9'),
('a', 'a'),
('a', 'b'),
('a', 'c'),
('a', 'd'),
('a', 'e'),
('a', 'f'),
('b', '0'),
('b', '1'),
('b', '2'),
('b', '3'),
('b', '4'),
('b', '5'),
('b', '6'),
('b', '7'),
('b', '8'),
('b', '9'),
('b', 'a'),
('b', 'b'),
('b', 'c'),
('b', 'd'),
('b', 'e'),
('b', 'f'),
('c', '0'),
('c', '1'),
('c', '2'),
('c', '3'),
('c', '4'),
('c', '5'),
('c', '6'),
('c', '7'),
('c', '8'),
('c', '9'),
('c', 'a'),
('c', 'b'),
('c', 'c'),
('c', 'd'),
('c', 'e'),
('c', 'f'),
('d', '0'),
('d', '1'),
('d', '2'),
('d', '3'),
('d', '4'),
('d', '5'),
('d', '6'),
('d', '7'),
('d', '8'),
('d', '9'),
('d', 'a'),
('d', 'b'),
('d', 'c'),
('d', 'd'),
('d', 'e'),
('d', 'f'),
('e', '0'),
('e', '1'),
('e', '2'),
('e', '3'),
('e', '4'),
('e', '5'),
('e', '6'),
('e', '7'),
('e', '8'),
('e', '9'),
('e', 'a'),
('e', 'b'),
('e', 'c'),
('e', 'd'),
('e', 'e'),
('e', 'f'),
('f', '0'),
('f', '1'),
('f', '2'),
('f', '3'),
('f', '4'),
('f', '5'),
('f', '6'),
('f', '7'),
('f', '8'),
('f', '9'),
('f', 'a'),
('f', 'b'),
('f', 'c'),
('f', 'd'),
('f', 'e'),
('f', 'f'),
};
[Benchmark]
public string WithLookupArray()
{
var result = new char[ByteArrayInput.Length * 2];
for (var i = 0; i < ByteArrayInput.Length; i++)
{
var b = ByteArrayInput[i];
var i2 = i * 2;
var (c1, c2) = ByteValues[b];
result[i2] = c1;
result[i2 + 1] = c2;
}
return new string(result);
}
char[] MappingByte1 = new[]
{
'0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '2', '2', '2', '2', '2', '2', '2', '2', '2', '2', '2', '2', '2', '2', '2', '2', '3', '3', '3', '3', '3', '3', '3', '3', '3', '3', '3', '3', '3', '3', '3', '3', '4', '4', '4', '4', '4', '4', '4', '4', '4', '4', '4', '4', '4', '4', '4', '4', '5', '5', '5', '5', '5', '5', '5', '5', '5', '5', '5', '5', '5', '5', '5', '5', '6', '6', '6', '6', '6', '6', '6', '6', '6', '6', '6', '6', '6', '6', '6', '6', '7', '7', '7', '7', '7', '7', '7', '7', '7', '7', '7', '7', '7', '7', '7', '7', '8', '8', '8', '8', '8', '8', '8', '8', '8', '8', '8', '8', '8', '8', '8', '8', '9', '9', '9', '9', '9', '9', '9', '9', '9', '9', '9', '9', '9', '9', '9', '9', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'f', 'f', 'f', 'f', 'f', 'f', 'f', 'f', 'f', 'f', 'f', 'f', 'f', 'f', 'f', 'f',
};
char[] MappingByte2 = new[]
{
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f',
};
[Benchmark]
public string WithDoubleLookupArray()
{
var result = new char[ByteArrayInput.Length * 2];
for (var i = 0; i < ByteArrayInput.Length; i++)
{
var b = ByteArrayInput[i];
var i2 = i * 2;
result[i2] = MappingByte1[b];
result[i2 + 1] = MappingByte2[b];
}
return new string(result);
}
}
}
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="BenchmarkDotNet" Version="0.12.0" />
</ItemGroup>
</Project>
C:\git\HexBenchmark\HexBenchmark\bin\Release\netcoreapp3.0>HexBenchmark.exe
// Validating benchmarks:
// ***** BenchmarkRunner: Start *****
// ***** Found 9 benchmark(s) in total *****
// ***** Building 1 exe(s) in Parallel: Start *****
// start dotnet restore /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 in C:\git\HexBenchmark\HexBenchmark\bin\Release\netcoreapp3.0\2425d37e-57c8-496d-9b4b-b221174b8d78
// command took 1.48s and exited with 0
// start dotnet build -c Release --no-restore /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 in C:\git\HexBenchmark\HexBenchmark\bin\Release\netcoreapp3.0\2425d37e-57c8-496d-9b4b-b221174b8d78
// command took 3.09s and exited with 0
// ***** Done, took 00:00:04 (4.79 sec) *****
// Found 9 benchmarks:
// Algorithms.WithStringJoin: DefaultJob [ByteArrayInput=Array[8]]
// Algorithms.WithStringBuilder: DefaultJob [ByteArrayInput=Array[8]]
// Algorithms.WithStringBuilderForInt: DefaultJob [ByteArrayInput=Array[8]]
// Algorithms.WithBitConverter: DefaultJob [ByteArrayInput=Array[8]]
// Algorithms.WithCharArray: DefaultJob [ByteArrayInput=Array[8]]
// Algorithms.WithBitShifts: DefaultJob [ByteArrayInput=Array[8]]
// Algorithms.WithLookupTable: DefaultJob [ByteArrayInput=Array[8]]
// Algorithms.WithLookupArray: DefaultJob [ByteArrayInput=Array[8]]
// Algorithms.WithDoubleLookupArray: DefaultJob [ByteArrayInput=Array[8]]
// **************************
// Benchmark: Algorithms.WithStringJoin: DefaultJob [ByteArrayInput=Array[8]]
// *** Execute ***
// Launch: 1 / 1
// Execute: dotnet "2425d37e-57c8-496d-9b4b-b221174b8d78.dll" --benchmarkName "HexBenchmark.Algorithms.WithStringJoin(ByteArrayInput: [1, 35, 69, 103, 137, ...])" --job "Default" --benchmarkId 0 in C:\git\HexBenchmark\HexBenchmark\bin\Release\netcoreapp3.0\2425d37e-57c8-496d-9b4b-b221174b8d78\bin\Release\netcoreapp3.0
// BeforeAnythingElse
// Benchmark Process Environment Information:
// Runtime=.NET Core 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), X64 RyuJIT
// GC=Concurrent Workstation
// Job: DefaultJob
OverheadJitting 1: 1 op, 469500.00 ns, 469.5000 us/op
WorkloadJitting 1: 1 op, 2346000.00 ns, 2.3460 ms/op
OverheadJitting 2: 16 op, 814500.00 ns, 50.9062 us/op
WorkloadJitting 2: 16 op, 739900.00 ns, 46.2437 us/op
WorkloadPilot 1: 16 op, 19500.00 ns, 1.2188 us/op
WorkloadPilot 2: 32 op, 26100.00 ns, 815.6250 ns/op
WorkloadPilot 3: 64 op, 52900.00 ns, 826.5625 ns/op
WorkloadPilot 4: 128 op, 92200.00 ns, 720.3125 ns/op
WorkloadPilot 5: 256 op, 185000.00 ns, 722.6562 ns/op
WorkloadPilot 6: 512 op, 519400.00 ns, 1.0145 us/op
WorkloadPilot 7: 1024 op, 1377200.00 ns, 1.3449 us/op
WorkloadPilot 8: 2048 op, 1471200.00 ns, 718.3594 ns/op
WorkloadPilot 9: 4096 op, 2926500.00 ns, 714.4775 ns/op
WorkloadPilot 10: 8192 op, 5838500.00 ns, 712.7075 ns/op
WorkloadPilot 11: 16384 op, 11786200.00 ns, 719.3726 ns/op
WorkloadPilot 12: 32768 op, 22467400.00 ns, 685.6506 ns/op
WorkloadPilot 13: 65536 op, 44024400.00 ns, 671.7590 ns/op
WorkloadPilot 14: 131072 op, 74091000.00 ns, 565.2695 ns/op
WorkloadPilot 15: 262144 op, 140716900.00 ns, 536.7924 ns/op
WorkloadPilot 16: 524288 op, 273483800.00 ns, 521.6290 ns/op
WorkloadPilot 17: 1048576 op, 535924500.00 ns, 511.0974 ns/op
OverheadWarmup 1: 1048576 op, 4958600.00 ns, 4.7289 ns/op
OverheadWarmup 2: 1048576 op, 4883800.00 ns, 4.6576 ns/op
OverheadWarmup 3: 1048576 op, 13845900.00 ns, 13.2045 ns/op
OverheadWarmup 4: 1048576 op, 4834000.00 ns, 4.6101 ns/op
OverheadWarmup 5: 1048576 op, 6226700.00 ns, 5.9382 ns/op
OverheadWarmup 6: 1048576 op, 6268800.00 ns, 5.9784 ns/op
OverheadWarmup 7: 1048576 op, 4951300.00 ns, 4.7219 ns/op
OverheadActual 1: 1048576 op, 4968200.00 ns, 4.7380 ns/op
OverheadActual 2: 1048576 op, 4952200.00 ns, 4.7228 ns/op
OverheadActual 3: 1048576 op, 4983400.00 ns, 4.7525 ns/op
OverheadActual 4: 1048576 op, 4883500.00 ns, 4.6573 ns/op
OverheadActual 5: 1048576 op, 13996000.00 ns, 13.3476 ns/op
OverheadActual 6: 1048576 op, 14143000.00 ns, 13.4878 ns/op
OverheadActual 7: 1048576 op, 14065000.00 ns, 13.4134 ns/op
OverheadActual 8: 1048576 op, 4954800.00 ns, 4.7253 ns/op
OverheadActual 9: 1048576 op, 9224500.00 ns, 8.7972 ns/op
OverheadActual 10: 1048576 op, 4983400.00 ns, 4.7525 ns/op
OverheadActual 11: 1048576 op, 4918600.00 ns, 4.6907 ns/op
OverheadActual 12: 1048576 op, 4935500.00 ns, 4.7069 ns/op
OverheadActual 13: 1048576 op, 4971700.00 ns, 4.7414 ns/op
OverheadActual 14: 1048576 op, 5044500.00 ns, 4.8108 ns/op
OverheadActual 15: 1048576 op, 4887400.00 ns, 4.6610 ns/op
OverheadActual 16: 1048576 op, 4913900.00 ns, 4.6863 ns/op
OverheadActual 17: 1048576 op, 4850600.00 ns, 4.6259 ns/op
WorkloadWarmup 1: 1048576 op, 503143100.00 ns, 479.8347 ns/op
WorkloadWarmup 2: 1048576 op, 500572300.00 ns, 477.3829 ns/op
WorkloadWarmup 3: 1048576 op, 525931400.00 ns, 501.5673 ns/op
WorkloadWarmup 4: 1048576 op, 525501600.00 ns, 501.1574 ns/op
WorkloadWarmup 5: 1048576 op, 501969900.00 ns, 478.7158 ns/op
WorkloadWarmup 6: 1048576 op, 501657800.00 ns, 478.4182 ns/op
WorkloadWarmup 7: 1048576 op, 553418100.00 ns, 527.7806 ns/op
WorkloadWarmup 8: 1048576 op, 504313200.00 ns, 480.9505 ns/op
// BeforeActualRun
WorkloadActual 1: 1048576 op, 541961300.00 ns, 516.8546 ns/op
WorkloadActual 2: 1048576 op, 507798700.00 ns, 484.2746 ns/op
WorkloadActual 3: 1048576 op, 550116700.00 ns, 524.6322 ns/op
WorkloadActual 4: 1048576 op, 514304400.00 ns, 490.4789 ns/op
WorkloadActual 5: 1048576 op, 551311000.00 ns, 525.7711 ns/op
WorkloadActual 6: 1048576 op, 545558700.00 ns, 520.2853 ns/op
WorkloadActual 7: 1048576 op, 557271700.00 ns, 531.4557 ns/op
WorkloadActual 8: 1048576 op, 534583900.00 ns, 509.8189 ns/op
WorkloadActual 9: 1048576 op, 545192100.00 ns, 519.9357 ns/op
WorkloadActual 10: 1048576 op, 540968700.00 ns, 515.9080 ns/op
WorkloadActual 11: 1048576 op, 555634400.00 ns, 529.8943 ns/op
WorkloadActual 12: 1048576 op, 508576200.00 ns, 485.0161 ns/op
WorkloadActual 13: 1048576 op, 524322700.00 ns, 500.0331 ns/op
WorkloadActual 14: 1048576 op, 526144700.00 ns, 501.7707 ns/op
WorkloadActual 15: 1048576 op, 542600400.00 ns, 517.4641 ns/op
WorkloadActual 16: 1048576 op, 523787300.00 ns, 499.5225 ns/op
WorkloadActual 17: 1048576 op, 501867300.00 ns, 478.6180 ns/op
WorkloadActual 18: 1048576 op, 555001000.00 ns, 529.2902 ns/op
WorkloadActual 19: 1048576 op, 540467500.00 ns, 515.4300 ns/op
WorkloadActual 20: 1048576 op, 544754100.00 ns, 519.5180 ns/op
WorkloadActual 21: 1048576 op, 501656000.00 ns, 478.4164 ns/op
WorkloadActual 22: 1048576 op, 542357500.00 ns, 517.2324 ns/op
WorkloadActual 23: 1048576 op, 540243400.00 ns, 515.2163 ns/op
WorkloadActual 24: 1048576 op, 502125100.00 ns, 478.8638 ns/op
WorkloadActual 25: 1048576 op, 542618000.00 ns, 517.4809 ns/op
WorkloadActual 26: 1048576 op, 501957500.00 ns, 478.7040 ns/op
WorkloadActual 27: 1048576 op, 500781200.00 ns, 477.5822 ns/op
WorkloadActual 28: 1048576 op, 500957300.00 ns, 477.7501 ns/op
WorkloadActual 29: 1048576 op, 501515300.00 ns, 478.2823 ns/op
WorkloadActual 30: 1048576 op, 554857400.00 ns, 529.1533 ns/op
WorkloadActual 31: 1048576 op, 528060200.00 ns, 503.5975 ns/op
WorkloadActual 32: 1048576 op, 506222200.00 ns, 482.7711 ns/op
WorkloadActual 33: 1048576 op, 506947900.00 ns, 483.4632 ns/op
WorkloadActual 34: 1048576 op, 587931100.00 ns, 560.6948 ns/op
WorkloadActual 35: 1048576 op, 550928100.00 ns, 525.4060 ns/op
WorkloadActual 36: 1048576 op, 565569100.00 ns, 539.3687 ns/op
WorkloadActual 37: 1048576 op, 559144100.00 ns, 533.2414 ns/op
WorkloadActual 38: 1048576 op, 539977000.00 ns, 514.9622 ns/op
WorkloadActual 39: 1048576 op, 558886400.00 ns, 532.9956 ns/op
WorkloadActual 40: 1048576 op, 528706700.00 ns, 504.2140 ns/op
WorkloadActual 41: 1048576 op, 544035500.00 ns, 518.8327 ns/op
WorkloadActual 42: 1048576 op, 549726900.00 ns, 524.2604 ns/op
WorkloadActual 43: 1048576 op, 560362800.00 ns, 534.4036 ns/op
WorkloadActual 44: 1048576 op, 543463300.00 ns, 518.2870 ns/op
WorkloadActual 45: 1048576 op, 567146200.00 ns, 540.8728 ns/op
WorkloadActual 46: 1048576 op, 548582000.00 ns, 523.1686 ns/op
WorkloadActual 47: 1048576 op, 574526300.00 ns, 547.9110 ns/op
WorkloadActual 48: 1048576 op, 561675900.00 ns, 535.6559 ns/op
WorkloadActual 49: 1048576 op, 559219700.00 ns, 533.3135 ns/op
WorkloadActual 50: 1048576 op, 582092800.00 ns, 555.1270 ns/op
WorkloadActual 51: 1048576 op, 551667900.00 ns, 526.1115 ns/op
WorkloadActual 52: 1048576 op, 506682300.00 ns, 483.2099 ns/op
WorkloadActual 53: 1048576 op, 552674600.00 ns, 527.0716 ns/op
WorkloadActual 54: 1048576 op, 513434000.00 ns, 489.6488 ns/op
WorkloadActual 55: 1048576 op, 504096000.00 ns, 480.7434 ns/op
WorkloadActual 56: 1048576 op, 527358900.00 ns, 502.9286 ns/op
WorkloadActual 57: 1048576 op, 518325500.00 ns, 494.3137 ns/op
// AfterActualRun
WorkloadResult 1: 1048576 op, 536993100.00 ns, 512.1165 ns/op
WorkloadResult 2: 1048576 op, 502830500.00 ns, 479.5365 ns/op
WorkloadResult 3: 1048576 op, 545148500.00 ns, 519.8941 ns/op
WorkloadResult 4: 1048576 op, 509336200.00 ns, 485.7409 ns/op
WorkloadResult 5: 1048576 op, 546342800.00 ns, 521.0331 ns/op
WorkloadResult 6: 1048576 op, 540590500.00 ns, 515.5473 ns/op
WorkloadResult 7: 1048576 op, 552303500.00 ns, 526.7177 ns/op
WorkloadResult 8: 1048576 op, 529615700.00 ns, 505.0809 ns/op
WorkloadResult 9: 1048576 op, 540223900.00 ns, 515.1977 ns/op
WorkloadResult 10: 1048576 op, 536000500.00 ns, 511.1699 ns/op
WorkloadResult 11: 1048576 op, 550666200.00 ns, 525.1562 ns/op
WorkloadResult 12: 1048576 op, 503608000.00 ns, 480.2780 ns/op
WorkloadResult 13: 1048576 op, 519354500.00 ns, 495.2950 ns/op
WorkloadResult 14: 1048576 op, 521176500.00 ns, 497.0326 ns/op
WorkloadResult 15: 1048576 op, 537632200.00 ns, 512.7260 ns/op
WorkloadResult 16: 1048576 op, 518819100.00 ns, 494.7845 ns/op
WorkloadResult 17: 1048576 op, 496899100.00 ns, 473.8799 ns/op
WorkloadResult 18: 1048576 op, 550032800.00 ns, 524.5522 ns/op
WorkloadResult 19: 1048576 op, 535499300.00 ns, 510.6919 ns/op
WorkloadResult 20: 1048576 op, 539785900.00 ns, 514.7799 ns/op
WorkloadResult 21: 1048576 op, 496687800.00 ns, 473.6784 ns/op
WorkloadResult 22: 1048576 op, 537389300.00 ns, 512.4944 ns/op
WorkloadResult 23: 1048576 op, 535275200.00 ns, 510.4782 ns/op
WorkloadResult 24: 1048576 op, 497156900.00 ns, 474.1258 ns/op
WorkloadResult 25: 1048576 op, 537649800.00 ns, 512.7428 ns/op
WorkloadResult 26: 1048576 op, 496989300.00 ns, 473.9659 ns/op
WorkloadResult 27: 1048576 op, 495813000.00 ns, 472.8441 ns/op
WorkloadResult 28: 1048576 op, 495989100.00 ns, 473.0121 ns/op
WorkloadResult 29: 1048576 op, 496547100.00 ns, 473.5442 ns/op
WorkloadResult 30: 1048576 op, 549889200.00 ns, 524.4152 ns/op
WorkloadResult 31: 1048576 op, 523092000.00 ns, 498.8594 ns/op
WorkloadResult 32: 1048576 op, 501254000.00 ns, 478.0331 ns/op
WorkloadResult 33: 1048576 op, 501979700.00 ns, 478.7251 ns/op
WorkloadResult 34: 1048576 op, 582962900.00 ns, 555.9567 ns/op
WorkloadResult 35: 1048576 op, 545959900.00 ns, 520.6679 ns/op
WorkloadResult 36: 1048576 op, 560600900.00 ns, 534.6307 ns/op
WorkloadResult 37: 1048576 op, 554175900.00 ns, 528.5033 ns/op
WorkloadResult 38: 1048576 op, 535008800.00 ns, 510.2242 ns/op
WorkloadResult 39: 1048576 op, 553918200.00 ns, 528.2576 ns/op
WorkloadResult 40: 1048576 op, 523738500.00 ns, 499.4760 ns/op
WorkloadResult 41: 1048576 op, 539067300.00 ns, 514.0946 ns/op
WorkloadResult 42: 1048576 op, 544758700.00 ns, 519.5224 ns/op
WorkloadResult 43: 1048576 op, 555394600.00 ns, 529.6656 ns/op
WorkloadResult 44: 1048576 op, 538495100.00 ns, 513.5489 ns/op
WorkloadResult 45: 1048576 op, 562178000.00 ns, 536.1347 ns/op
WorkloadResult 46: 1048576 op, 543613800.00 ns, 518.4305 ns/op
WorkloadResult 47: 1048576 op, 569558100.00 ns, 543.1729 ns/op
WorkloadResult 48: 1048576 op, 556707700.00 ns, 530.9178 ns/op
WorkloadResult 49: 1048576 op, 554251500.00 ns, 528.5754 ns/op
WorkloadResult 50: 1048576 op, 577124600.00 ns, 550.3889 ns/op
WorkloadResult 51: 1048576 op, 546699700.00 ns, 521.3735 ns/op
WorkloadResult 52: 1048576 op, 501714100.00 ns, 478.4719 ns/op
WorkloadResult 53: 1048576 op, 547706400.00 ns, 522.3335 ns/op
WorkloadResult 54: 1048576 op, 508465800.00 ns, 484.9108 ns/op
WorkloadResult 55: 1048576 op, 499127800.00 ns, 476.0054 ns/op
WorkloadResult 56: 1048576 op, 522390700.00 ns, 498.1906 ns/op
WorkloadResult 57: 1048576 op, 513357300.00 ns, 489.5757 ns/op
// AfterAll
// Benchmark Process 168756 has exited with code 0
Mean = 507.2133 ns, StdErr = 2.9232 ns (0.58%); N = 57, StdDev = 22.0700 ns
Min = 472.8441 ns, Q1 = 485.3258 ns, Median = 512.4944 ns, Q3 = 523.3744 ns, Max = 555.9567 ns
IQR = 38.0486 ns, LowerFence = 428.2530 ns, UpperFence = 580.4472 ns
ConfidenceInterval = [497.0612 ns; 517.3655 ns] (CI 99.9%), Margin = 10.1522 ns (2.00% of Mean)
Skewness = -0.1, Kurtosis = 2.04, MValue = 2.86
// **************************
// Benchmark: Algorithms.WithStringBuilder: DefaultJob [ByteArrayInput=Array[8]]
// *** Execute ***
// Launch: 1 / 1
// Execute: dotnet "2425d37e-57c8-496d-9b4b-b221174b8d78.dll" --benchmarkName "HexBenchmark.Algorithms.WithStringBuilder(ByteArrayInput: [1, 35, 69, 103, 137, ...])" --job "Default" --benchmarkId 1 in C:\git\HexBenchmark\HexBenchmark\bin\Release\netcoreapp3.0\2425d37e-57c8-496d-9b4b-b221174b8d78\bin\Release\netcoreapp3.0
// BeforeAnythingElse
// Benchmark Process Environment Information:
// Runtime=.NET Core 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), X64 RyuJIT
// GC=Concurrent Workstation
// Job: DefaultJob
OverheadJitting 1: 1 op, 452000.00 ns, 452.0000 us/op
WorkloadJitting 1: 1 op, 780000.00 ns, 780.0000 us/op
OverheadJitting 2: 16 op, 782400.00 ns, 48.9000 us/op
WorkloadJitting 2: 16 op, 2152400.00 ns, 134.5250 us/op
WorkloadPilot 1: 16 op, 8100.00 ns, 506.2500 ns/op
WorkloadPilot 2: 32 op, 14500.00 ns, 453.1250 ns/op
WorkloadPilot 3: 64 op, 30500.00 ns, 476.5625 ns/op
WorkloadPilot 4: 128 op, 50500.00 ns, 394.5312 ns/op
WorkloadPilot 5: 256 op, 122800.00 ns, 479.6875 ns/op
WorkloadPilot 6: 512 op, 199400.00 ns, 389.4531 ns/op
WorkloadPilot 7: 1024 op, 475400.00 ns, 464.2578 ns/op
WorkloadPilot 8: 2048 op, 954300.00 ns, 465.9668 ns/op
WorkloadPilot 9: 4096 op, 1884700.00 ns, 460.1318 ns/op
WorkloadPilot 10: 8192 op, 3533200.00 ns, 431.2988 ns/op
WorkloadPilot 11: 16384 op, 7186400.00 ns, 438.6230 ns/op
WorkloadPilot 12: 32768 op, 31680000.00 ns, 966.7969 ns/op
WorkloadPilot 13: 65536 op, 43227100.00 ns, 659.5932 ns/op
WorkloadPilot 14: 131072 op, 54578700.00 ns, 416.4024 ns/op
WorkloadPilot 15: 262144 op, 91150400.00 ns, 347.7112 ns/op
WorkloadPilot 16: 524288 op, 175760200.00 ns, 335.2360 ns/op
WorkloadPilot 17: 1048576 op, 332047500.00 ns, 316.6652 ns/op
WorkloadPilot 18: 2097152 op, 661394400.00 ns, 315.3774 ns/op
OverheadWarmup 1: 2097152 op, 8904400.00 ns, 4.2459 ns/op
OverheadWarmup 2: 2097152 op, 8964000.00 ns, 4.2744 ns/op
OverheadWarmup 3: 2097152 op, 8899900.00 ns, 4.2438 ns/op
OverheadWarmup 4: 2097152 op, 26050600.00 ns, 12.4219 ns/op
OverheadWarmup 5: 2097152 op, 15629100.00 ns, 7.4525 ns/op
OverheadActual 1: 2097152 op, 12930900.00 ns, 6.1659 ns/op
OverheadActual 2: 2097152 op, 9774500.00 ns, 4.6608 ns/op
OverheadActual 3: 2097152 op, 8768800.00 ns, 4.1813 ns/op
OverheadActual 4: 2097152 op, 8817200.00 ns, 4.2044 ns/op
OverheadActual 5: 2097152 op, 8964000.00 ns, 4.2744 ns/op
OverheadActual 6: 2097152 op, 9394400.00 ns, 4.4796 ns/op
OverheadActual 7: 2097152 op, 8990600.00 ns, 4.2871 ns/op
OverheadActual 8: 2097152 op, 9116600.00 ns, 4.3471 ns/op
OverheadActual 9: 2097152 op, 9486800.00 ns, 4.5237 ns/op
OverheadActual 10: 2097152 op, 9041100.00 ns, 4.3111 ns/op
OverheadActual 11: 2097152 op, 9060000.00 ns, 4.3201 ns/op
OverheadActual 12: 2097152 op, 8941300.00 ns, 4.2635 ns/op
OverheadActual 13: 2097152 op, 25723700.00 ns, 12.2660 ns/op
OverheadActual 14: 2097152 op, 8919500.00 ns, 4.2531 ns/op
OverheadActual 15: 2097152 op, 25699700.00 ns, 12.2546 ns/op
WorkloadWarmup 1: 2097152 op, 666374800.00 ns, 317.7523 ns/op
WorkloadWarmup 2: 2097152 op, 676281300.00 ns, 322.4761 ns/op
WorkloadWarmup 3: 2097152 op, 773878500.00 ns, 369.0140 ns/op
WorkloadWarmup 4: 2097152 op, 701404100.00 ns, 334.4555 ns/op
WorkloadWarmup 5: 2097152 op, 729186200.00 ns, 347.7031 ns/op
WorkloadWarmup 6: 2097152 op, 707654600.00 ns, 337.4360 ns/op
// BeforeActualRun
WorkloadActual 1: 2097152 op, 722605600.00 ns, 344.5652 ns/op
WorkloadActual 2: 2097152 op, 668905800.00 ns, 318.9591 ns/op
WorkloadActual 3: 2097152 op, 721160300.00 ns, 343.8760 ns/op
WorkloadActual 4: 2097152 op, 686517700.00 ns, 327.3571 ns/op
WorkloadActual 5: 2097152 op, 690617700.00 ns, 329.3122 ns/op
WorkloadActual 6: 2097152 op, 661349000.00 ns, 315.3558 ns/op
WorkloadActual 7: 2097152 op, 715730200.00 ns, 341.2868 ns/op
WorkloadActual 8: 2097152 op, 728680400.00 ns, 347.4619 ns/op
WorkloadActual 9: 2097152 op, 677606900.00 ns, 323.1081 ns/op
WorkloadActual 10: 2097152 op, 667991200.00 ns, 318.5230 ns/op
WorkloadActual 11: 2097152 op, 720153600.00 ns, 343.3960 ns/op
WorkloadActual 12: 2097152 op, 713114500.00 ns, 340.0395 ns/op
WorkloadActual 13: 2097152 op, 669977200.00 ns, 319.4700 ns/op
WorkloadActual 14: 2097152 op, 688537300.00 ns, 328.3202 ns/op
WorkloadActual 15: 2097152 op, 744839900.00 ns, 355.1673 ns/op
WorkloadActual 16: 2097152 op, 752431500.00 ns, 358.7873 ns/op
WorkloadActual 17: 2097152 op, 785039200.00 ns, 374.3359 ns/op
WorkloadActual 18: 2097152 op, 809367400.00 ns, 385.9365 ns/op
WorkloadActual 19: 2097152 op, 735739600.00 ns, 350.8280 ns/op
WorkloadActual 20: 2097152 op, 785351600.00 ns, 374.4848 ns/op
WorkloadActual 21: 2097152 op, 758261900.00 ns, 361.5674 ns/op
WorkloadActual 22: 2097152 op, 712476700.00 ns, 339.7354 ns/op
WorkloadActual 23: 2097152 op, 739638900.00 ns, 352.6873 ns/op
WorkloadActual 24: 2097152 op, 726776300.00 ns, 346.5539 ns/op
WorkloadActual 25: 2097152 op, 720347200.00 ns, 343.4883 ns/op
WorkloadActual 26: 2097152 op, 724396600.00 ns, 345.4192 ns/op
WorkloadActual 27: 2097152 op, 702838400.00 ns, 335.1395 ns/op
WorkloadActual 28: 2097152 op, 749102100.00 ns, 357.1997 ns/op
WorkloadActual 29: 2097152 op, 714026600.00 ns, 340.4744 ns/op
WorkloadActual 30: 2097152 op, 741761400.00 ns, 353.6994 ns/op
WorkloadActual 31: 2097152 op, 729175800.00 ns, 347.6981 ns/op
WorkloadActual 32: 2097152 op, 665794200.00 ns, 317.4754 ns/op
WorkloadActual 33: 2097152 op, 699087000.00 ns, 333.3507 ns/op
WorkloadActual 34: 2097152 op, 718321000.00 ns, 342.5221 ns/op
WorkloadActual 35: 2097152 op, 716984600.00 ns, 341.8849 ns/op
WorkloadActual 36: 2097152 op, 719770700.00 ns, 343.2134 ns/op
WorkloadActual 37: 2097152 op, 724923000.00 ns, 345.6702 ns/op
WorkloadActual 38: 2097152 op, 738576800.00 ns, 352.1809 ns/op
WorkloadActual 39: 2097152 op, 710870500.00 ns, 338.9695 ns/op
WorkloadActual 40: 2097152 op, 744762100.00 ns, 355.1302 ns/op
WorkloadActual 41: 2097152 op, 729489500.00 ns, 347.8477 ns/op
WorkloadActual 42: 2097152 op, 716777400.00 ns, 341.7861 ns/op
WorkloadActual 43: 2097152 op, 721714900.00 ns, 344.1405 ns/op
WorkloadActual 44: 2097152 op, 665373100.00 ns, 317.2746 ns/op
WorkloadActual 45: 2097152 op, 670761200.00 ns, 319.8439 ns/op
WorkloadActual 46: 2097152 op, 718473800.00 ns, 342.5950 ns/op
WorkloadActual 47: 2097152 op, 719962800.00 ns, 343.3050 ns/op
// AfterActualRun
WorkloadResult 1: 2097152 op, 713545600.00 ns, 340.2451 ns/op
WorkloadResult 2: 2097152 op, 659845800.00 ns, 314.6390 ns/op
WorkloadResult 3: 2097152 op, 712100300.00 ns, 339.5559 ns/op
WorkloadResult 4: 2097152 op, 677457700.00 ns, 323.0370 ns/op
WorkloadResult 5: 2097152 op, 681557700.00 ns, 324.9920 ns/op
WorkloadResult 6: 2097152 op, 652289000.00 ns, 311.0356 ns/op
WorkloadResult 7: 2097152 op, 706670200.00 ns, 336.9666 ns/op
WorkloadResult 8: 2097152 op, 719620400.00 ns, 343.1417 ns/op
WorkloadResult 9: 2097152 op, 668546900.00 ns, 318.7880 ns/op
WorkloadResult 10: 2097152 op, 658931200.00 ns, 314.2029 ns/op
WorkloadResult 11: 2097152 op, 711093600.00 ns, 339.0759 ns/op
WorkloadResult 12: 2097152 op, 704054500.00 ns, 335.7193 ns/op
WorkloadResult 13: 2097152 op, 660917200.00 ns, 315.1499 ns/op
WorkloadResult 14: 2097152 op, 679477300.00 ns, 324.0000 ns/op
WorkloadResult 15: 2097152 op, 735779900.00 ns, 350.8472 ns/op
WorkloadResult 16: 2097152 op, 743371500.00 ns, 354.4672 ns/op
WorkloadResult 17: 2097152 op, 775979200.00 ns, 370.0157 ns/op
WorkloadResult 18: 2097152 op, 726679600.00 ns, 346.5078 ns/op
WorkloadResult 19: 2097152 op, 776291600.00 ns, 370.1647 ns/op
WorkloadResult 20: 2097152 op, 749201900.00 ns, 357.2473 ns/op
WorkloadResult 21: 2097152 op, 703416700.00 ns, 335.4152 ns/op
WorkloadResult 22: 2097152 op, 730578900.00 ns, 348.3672 ns/op
WorkloadResult 23: 2097152 op, 717716300.00 ns, 342.2338 ns/op
WorkloadResult 24: 2097152 op, 711287200.00 ns, 339.1682 ns/op
WorkloadResult 25: 2097152 op, 715336600.00 ns, 341.0991 ns/op
WorkloadResult 26: 2097152 op, 693778400.00 ns, 330.8193 ns/op
WorkloadResult 27: 2097152 op, 740042100.00 ns, 352.8796 ns/op
WorkloadResult 28: 2097152 op, 704966600.00 ns, 336.1543 ns/op
WorkloadResult 29: 2097152 op, 732701400.00 ns, 349.3793 ns/op
WorkloadResult 30: 2097152 op, 720115800.00 ns, 343.3780 ns/op
WorkloadResult 31: 2097152 op, 656734200.00 ns, 313.1553 ns/op
WorkloadResult 32: 2097152 op, 690027000.00 ns, 329.0305 ns/op
WorkloadResult 33: 2097152 op, 709261000.00 ns, 338.2020 ns/op
WorkloadResult 34: 2097152 op, 707924600.00 ns, 337.5648 ns/op
WorkloadResult 35: 2097152 op, 710710700.00 ns, 338.8933 ns/op
WorkloadResult 36: 2097152 op, 715863000.00 ns, 341.3501 ns/op
WorkloadResult 37: 2097152 op, 729516800.00 ns, 347.8607 ns/op
WorkloadResult 38: 2097152 op, 701810500.00 ns, 334.6493 ns/op
WorkloadResult 39: 2097152 op, 735702100.00 ns, 350.8101 ns/op
WorkloadResult 40: 2097152 op, 720429500.00 ns, 343.5276 ns/op
WorkloadResult 41: 2097152 op, 707717400.00 ns, 337.4660 ns/op
WorkloadResult 42: 2097152 op, 712654900.00 ns, 339.8203 ns/op
WorkloadResult 43: 2097152 op, 656313100.00 ns, 312.9545 ns/op
WorkloadResult 44: 2097152 op, 661701200.00 ns, 315.5237 ns/op
WorkloadResult 45: 2097152 op, 709413800.00 ns, 338.2749 ns/op
WorkloadResult 46: 2097152 op, 710902800.00 ns, 338.9849 ns/op
// AfterAll
// Benchmark Process 158024 has exited with code 0
Mean = 337.1035 ns, StdErr = 2.0840 ns (0.62%); N = 46, StdDev = 14.1346 ns
Min = 311.0356 ns, Q1 = 329.0305 ns, Median = 338.9391 ns, Q3 = 343.5276 ns, Max = 370.1647 ns
IQR = 14.4970 ns, LowerFence = 307.2850 ns, UpperFence = 365.2731 ns
ConfidenceInterval = [329.7672 ns; 344.4398 ns] (CI 99.9%), Margin = 7.3363 ns (2.18% of Mean)
Skewness = -0.02, Kurtosis = 2.8, MValue = 2.7
// **************************
// Benchmark: Algorithms.WithStringBuilderForInt: DefaultJob [ByteArrayInput=Array[8]]
// *** Execute ***
// Launch: 1 / 1
// Execute: dotnet "2425d37e-57c8-496d-9b4b-b221174b8d78.dll" --benchmarkName "HexBenchmark.Algorithms.WithStringBuilderForInt(ByteArrayInput: [1, 35, 69, 103, 137, ...])" --job "Default" --benchmarkId 2 in C:\git\HexBenchmark\HexBenchmark\bin\Release\netcoreapp3.0\2425d37e-57c8-496d-9b4b-b221174b8d78\bin\Release\netcoreapp3.0
// BeforeAnythingElse
// Benchmark Process Environment Information:
// Runtime=.NET Core 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), X64 RyuJIT
// GC=Concurrent Workstation
// Job: DefaultJob
OverheadJitting 1: 1 op, 456900.00 ns, 456.9000 us/op
WorkloadJitting 1: 1 op, 778100.00 ns, 778.1000 us/op
OverheadJitting 2: 16 op, 731600.00 ns, 45.7250 us/op
WorkloadJitting 2: 16 op, 2112200.00 ns, 132.0125 us/op
WorkloadPilot 1: 16 op, 9400.00 ns, 587.5000 ns/op
WorkloadPilot 2: 32 op, 36700.00 ns, 1.1469 us/op
WorkloadPilot 3: 64 op, 75000.00 ns, 1.1719 us/op
WorkloadPilot 4: 128 op, 136900.00 ns, 1.0695 us/op
WorkloadPilot 5: 256 op, 130600.00 ns, 510.1562 ns/op
WorkloadPilot 6: 512 op, 197100.00 ns, 384.9609 ns/op
WorkloadPilot 7: 1024 op, 642100.00 ns, 627.0508 ns/op
WorkloadPilot 8: 2048 op, 1289800.00 ns, 629.7852 ns/op
WorkloadPilot 9: 4096 op, 3254400.00 ns, 794.5312 ns/op
WorkloadPilot 10: 8192 op, 3627100.00 ns, 442.7612 ns/op
WorkloadPilot 11: 16384 op, 7064200.00 ns, 431.1646 ns/op
WorkloadPilot 12: 32768 op, 15991200.00 ns, 488.0127 ns/op
WorkloadPilot 13: 65536 op, 24753500.00 ns, 377.7084 ns/op
WorkloadPilot 14: 131072 op, 47584600.00 ns, 363.0417 ns/op
WorkloadPilot 15: 262144 op, 92177200.00 ns, 351.6281 ns/op
WorkloadPilot 16: 524288 op, 170356400.00 ns, 324.9290 ns/op
WorkloadPilot 17: 1048576 op, 361308700.00 ns, 344.5708 ns/op
WorkloadPilot 18: 2097152 op, 722169300.00 ns, 344.3572 ns/op
OverheadWarmup 1: 2097152 op, 9038100.00 ns, 4.3097 ns/op
OverheadWarmup 2: 2097152 op, 9039600.00 ns, 4.3104 ns/op
OverheadWarmup 3: 2097152 op, 8931700.00 ns, 4.2590 ns/op
OverheadWarmup 4: 2097152 op, 9032200.00 ns, 4.3069 ns/op
OverheadWarmup 5: 2097152 op, 23754300.00 ns, 11.3269 ns/op
OverheadWarmup 6: 2097152 op, 8910300.00 ns, 4.2488 ns/op
OverheadActual 1: 2097152 op, 8799000.00 ns, 4.1957 ns/op
OverheadActual 2: 2097152 op, 8723900.00 ns, 4.1599 ns/op
OverheadActual 3: 2097152 op, 24147500.00 ns, 11.5144 ns/op
OverheadActual 4: 2097152 op, 8735700.00 ns, 4.1655 ns/op
OverheadActual 5: 2097152 op, 8848700.00 ns, 4.2194 ns/op
OverheadActual 6: 2097152 op, 9029600.00 ns, 4.3056 ns/op
OverheadActual 7: 2097152 op, 8871900.00 ns, 4.2305 ns/op
OverheadActual 8: 2097152 op, 8896000.00 ns, 4.2419 ns/op
OverheadActual 9: 2097152 op, 25784200.00 ns, 12.2949 ns/op
OverheadActual 10: 2097152 op, 8955900.00 ns, 4.2705 ns/op
OverheadActual 11: 2097152 op, 8939800.00 ns, 4.2628 ns/op
OverheadActual 12: 2097152 op, 12806200.00 ns, 6.1065 ns/op
OverheadActual 13: 2097152 op, 12886800.00 ns, 6.1449 ns/op
OverheadActual 14: 2097152 op, 23317200.00 ns, 11.1185 ns/op
OverheadActual 15: 2097152 op, 12780900.00 ns, 6.0944 ns/op
OverheadActual 16: 2097152 op, 18608500.00 ns, 8.8732 ns/op
OverheadActual 17: 2097152 op, 8959300.00 ns, 4.2721 ns/op
OverheadActual 18: 2097152 op, 8841100.00 ns, 4.2158 ns/op
OverheadActual 19: 2097152 op, 23551600.00 ns, 11.2303 ns/op
OverheadActual 20: 2097152 op, 8956200.00 ns, 4.2706 ns/op
WorkloadWarmup 1: 2097152 op, 684670000.00 ns, 326.4761 ns/op
WorkloadWarmup 2: 2097152 op, 719340900.00 ns, 343.0085 ns/op
WorkloadWarmup 3: 2097152 op, 726203700.00 ns, 346.2809 ns/op
WorkloadWarmup 4: 2097152 op, 723409900.00 ns, 344.9487 ns/op
WorkloadWarmup 5: 2097152 op, 714846100.00 ns, 340.8652 ns/op
WorkloadWarmup 6: 2097152 op, 726227500.00 ns, 346.2923 ns/op
WorkloadWarmup 7: 2097152 op, 714127700.00 ns, 340.5226 ns/op
// BeforeActualRun
WorkloadActual 1: 2097152 op, 736118700.00 ns, 351.0087 ns/op
WorkloadActual 2: 2097152 op, 722994900.00 ns, 344.7508 ns/op
WorkloadActual 3: 2097152 op, 704385500.00 ns, 335.8772 ns/op
WorkloadActual 4: 2097152 op, 715652800.00 ns, 341.2498 ns/op
WorkloadActual 5: 2097152 op, 712240800.00 ns, 339.6229 ns/op
WorkloadActual 6: 2097152 op, 703402400.00 ns, 335.4084 ns/op
WorkloadActual 7: 2097152 op, 662048200.00 ns, 315.6892 ns/op
WorkloadActual 8: 2097152 op, 665557300.00 ns, 317.3625 ns/op
WorkloadActual 9: 2097152 op, 664179800.00 ns, 316.7056 ns/op
WorkloadActual 10: 2097152 op, 719896900.00 ns, 343.2736 ns/op
WorkloadActual 11: 2097152 op, 664635300.00 ns, 316.9228 ns/op
WorkloadActual 12: 2097152 op, 719090000.00 ns, 342.8888 ns/op
WorkloadActual 13: 2097152 op, 659940900.00 ns, 314.6843 ns/op
WorkloadActual 14: 2097152 op, 713439700.00 ns, 340.1946 ns/op
WorkloadActual 15: 2097152 op, 718772500.00 ns, 342.7374 ns/op
WorkloadActual 16: 2097152 op, 670275000.00 ns, 319.6120 ns/op
WorkloadActual 17: 2097152 op, 703674800.00 ns, 335.5383 ns/op
WorkloadActual 18: 2097152 op, 667892600.00 ns, 318.4760 ns/op
WorkloadActual 19: 2097152 op, 677284400.00 ns, 322.9544 ns/op
WorkloadActual 20: 2097152 op, 721754300.00 ns, 344.1593 ns/op
WorkloadActual 21: 2097152 op, 719699300.00 ns, 343.1794 ns/op
WorkloadActual 22: 2097152 op, 682603800.00 ns, 325.4909 ns/op
WorkloadActual 23: 2097152 op, 699938400.00 ns, 333.7566 ns/op
WorkloadActual 24: 2097152 op, 670049900.00 ns, 319.5047 ns/op
WorkloadActual 25: 2097152 op, 678199300.00 ns, 323.3906 ns/op
WorkloadActual 26: 2097152 op, 671392500.00 ns, 320.1449 ns/op
WorkloadActual 27: 2097152 op, 670397000.00 ns, 319.6702 ns/op
WorkloadActual 28: 2097152 op, 670872800.00 ns, 319.8971 ns/op
WorkloadActual 29: 2097152 op, 665507900.00 ns, 317.3389 ns/op
WorkloadActual 30: 2097152 op, 665067900.00 ns, 317.1291 ns/op
WorkloadActual 31: 2097152 op, 665411500.00 ns, 317.2929 ns/op
WorkloadActual 32: 2097152 op, 664853100.00 ns, 317.0267 ns/op
WorkloadActual 33: 2097152 op, 667009600.00 ns, 318.0550 ns/op
WorkloadActual 34: 2097152 op, 664915800.00 ns, 317.0566 ns/op
WorkloadActual 35: 2097152 op, 716478900.00 ns, 341.6438 ns/op
WorkloadActual 36: 2097152 op, 663383500.00 ns, 316.3259 ns/op
WorkloadActual 37: 2097152 op, 713842800.00 ns, 340.3868 ns/op
WorkloadActual 38: 2097152 op, 715754700.00 ns, 341.2984 ns/op
WorkloadActual 39: 2097152 op, 663174900.00 ns, 316.2264 ns/op
WorkloadActual 40: 2097152 op, 725855000.00 ns, 346.1146 ns/op
WorkloadActual 41: 2097152 op, 731417100.00 ns, 348.7669 ns/op
WorkloadActual 42: 2097152 op, 736415700.00 ns, 351.1504 ns/op
WorkloadActual 43: 2097152 op, 702274100.00 ns, 334.8704 ns/op
WorkloadActual 44: 2097152 op, 670887700.00 ns, 319.9042 ns/op
// AfterActualRun
WorkloadResult 1: 2097152 op, 727160950.00 ns, 346.7374 ns/op
WorkloadResult 2: 2097152 op, 714037150.00 ns, 340.4794 ns/op
WorkloadResult 3: 2097152 op, 695427750.00 ns, 331.6058 ns/op
WorkloadResult 4: 2097152 op, 706695050.00 ns, 336.9785 ns/op
WorkloadResult 5: 2097152 op, 703283050.00 ns, 335.3515 ns/op
WorkloadResult 6: 2097152 op, 694444650.00 ns, 331.1370 ns/op
WorkloadResult 7: 2097152 op, 653090450.00 ns, 311.4178 ns/op
WorkloadResult 8: 2097152 op, 656599550.00 ns, 313.0911 ns/op
WorkloadResult 9: 2097152 op, 655222050.00 ns, 312.4342 ns/op
WorkloadResult 10: 2097152 op, 710939150.00 ns, 339.0022 ns/op
WorkloadResult 11: 2097152 op, 655677550.00 ns, 312.6514 ns/op
WorkloadResult 12: 2097152 op, 710132250.00 ns, 338.6174 ns/op
WorkloadResult 13: 2097152 op, 650983150.00 ns, 310.4130 ns/op
WorkloadResult 14: 2097152 op, 704481950.00 ns, 335.9232 ns/op
WorkloadResult 15: 2097152 op, 709814750.00 ns, 338.4660 ns/op
WorkloadResult 16: 2097152 op, 661317250.00 ns, 315.3406 ns/op
WorkloadResult 17: 2097152 op, 694717050.00 ns, 331.2669 ns/op
WorkloadResult 18: 2097152 op, 658934850.00 ns, 314.2046 ns/op
WorkloadResult 19: 2097152 op, 668326650.00 ns, 318.6830 ns/op
WorkloadResult 20: 2097152 op, 712796550.00 ns, 339.8879 ns/op
WorkloadResult 21: 2097152 op, 710741550.00 ns, 338.9080 ns/op
WorkloadResult 22: 2097152 op, 673646050.00 ns, 321.2195 ns/op
WorkloadResult 23: 2097152 op, 690980650.00 ns, 329.4852 ns/op
WorkloadResult 24: 2097152 op, 661092150.00 ns, 315.2333 ns/op
WorkloadResult 25: 2097152 op, 669241550.00 ns, 319.1192 ns/op
WorkloadResult 26: 2097152 op, 662434750.00 ns, 315.8735 ns/op
WorkloadResult 27: 2097152 op, 661439250.00 ns, 315.3988 ns/op
WorkloadResult 28: 2097152 op, 661915050.00 ns, 315.6257 ns/op
WorkloadResult 29: 2097152 op, 656550150.00 ns, 313.0675 ns/op
WorkloadResult 30: 2097152 op, 656110150.00 ns, 312.8577 ns/op
WorkloadResult 31: 2097152 op, 656453750.00 ns, 313.0215 ns/op
WorkloadResult 32: 2097152 op, 655895350.00 ns, 312.7553 ns/op
WorkloadResult 33: 2097152 op, 658051850.00 ns, 313.7836 ns/op
WorkloadResult 34: 2097152 op, 655958050.00 ns, 312.7852 ns/op
WorkloadResult 35: 2097152 op, 707521150.00 ns, 337.3724 ns/op
WorkloadResult 36: 2097152 op, 654425750.00 ns, 312.0545 ns/op
WorkloadResult 37: 2097152 op, 704885050.00 ns, 336.1154 ns/op
WorkloadResult 38: 2097152 op, 706796950.00 ns, 337.0270 ns/op
WorkloadResult 39: 2097152 op, 654217150.00 ns, 311.9550 ns/op
WorkloadResult 40: 2097152 op, 716897250.00 ns, 341.8432 ns/op
WorkloadResult 41: 2097152 op, 722459350.00 ns, 344.4955 ns/op
WorkloadResult 42: 2097152 op, 727457950.00 ns, 346.8790 ns/op
WorkloadResult 43: 2097152 op, 693316350.00 ns, 330.5990 ns/op
WorkloadResult 44: 2097152 op, 661929950.00 ns, 315.6328 ns/op
// AfterAll
// Benchmark Process 153340 has exited with code 0
Mean = 325.3817 ns, StdErr = 1.8649 ns (0.57%); N = 44, StdDev = 12.3702 ns
Min = 310.4130 ns, Q1 = 313.0793 ns, Median = 320.1694 ns, Q3 = 337.1997 ns, Max = 346.8790 ns
IQR = 24.1204 ns, LowerFence = 276.8986 ns, UpperFence = 373.3804 ns
ConfidenceInterval = [318.7957 ns; 331.9678 ns] (CI 99.9%), Margin = 6.5860 ns (2.02% of Mean)
Skewness = 0.24, Kurtosis = 1.35, MValue = 3.48
// **************************
// Benchmark: Algorithms.WithBitConverter: DefaultJob [ByteArrayInput=Array[8]]
// *** Execute ***
// Launch: 1 / 1
// Execute: dotnet "2425d37e-57c8-496d-9b4b-b221174b8d78.dll" --benchmarkName "HexBenchmark.Algorithms.WithBitConverter(ByteArrayInput: [1, 35, 69, 103, 137, ...])" --job "Default" --benchmarkId 3 in C:\git\HexBenchmark\HexBenchmark\bin\Release\netcoreapp3.0\2425d37e-57c8-496d-9b4b-b221174b8d78\bin\Release\netcoreapp3.0
// BeforeAnythingElse
// Benchmark Process Environment Information:
// Runtime=.NET Core 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), X64 RyuJIT
// GC=Concurrent Workstation
// Job: DefaultJob
OverheadJitting 1: 1 op, 437700.00 ns, 437.7000 us/op
WorkloadJitting 1: 1 op, 674100.00 ns, 674.1000 us/op
OverheadJitting 2: 16 op, 697800.00 ns, 43.6125 us/op
WorkloadJitting 2: 16 op, 742900.00 ns, 46.4312 us/op
WorkloadPilot 1: 16 op, 11700.00 ns, 731.2500 ns/op
WorkloadPilot 2: 32 op, 62800.00 ns, 1.9625 us/op
WorkloadPilot 3: 64 op, 35300.00 ns, 551.5625 ns/op
WorkloadPilot 4: 128 op, 97500.00 ns, 761.7188 ns/op
WorkloadPilot 5: 256 op, 73500.00 ns, 287.1094 ns/op
WorkloadPilot 6: 512 op, 158400.00 ns, 309.3750 ns/op
WorkloadPilot 7: 1024 op, 386400.00 ns, 377.3438 ns/op
WorkloadPilot 8: 2048 op, 970800.00 ns, 474.0234 ns/op
WorkloadPilot 9: 4096 op, 1190500.00 ns, 290.6494 ns/op
WorkloadPilot 10: 8192 op, 2349300.00 ns, 286.7798 ns/op
WorkloadPilot 11: 16384 op, 4805800.00 ns, 293.3228 ns/op
WorkloadPilot 12: 32768 op, 8677000.00 ns, 264.8010 ns/op
WorkloadPilot 13: 65536 op, 28806800.00 ns, 439.5569 ns/op
WorkloadPilot 14: 131072 op, 31330700.00 ns, 239.0343 ns/op
WorkloadPilot 15: 262144 op, 64148500.00 ns, 244.7071 ns/op
WorkloadPilot 16: 524288 op, 117739400.00 ns, 224.5701 ns/op
WorkloadPilot 17: 1048576 op, 233352900.00 ns, 222.5427 ns/op
WorkloadPilot 18: 2097152 op, 444475100.00 ns, 211.9422 ns/op
WorkloadPilot 19: 4194304 op, 911744200.00 ns, 217.3768 ns/op
OverheadWarmup 1: 4194304 op, 17908000.00 ns, 4.2696 ns/op
OverheadWarmup 2: 4194304 op, 17808700.00 ns, 4.2459 ns/op
OverheadWarmup 3: 4194304 op, 17861300.00 ns, 4.2585 ns/op
OverheadWarmup 4: 4194304 op, 17845700.00 ns, 4.2547 ns/op
OverheadWarmup 5: 4194304 op, 29821700.00 ns, 7.1100 ns/op
OverheadWarmup 6: 4194304 op, 32908100.00 ns, 7.8459 ns/op
OverheadWarmup 7: 4194304 op, 21284400.00 ns, 5.0746 ns/op
OverheadActual 1: 4194304 op, 18870000.00 ns, 4.4990 ns/op
OverheadActual 2: 4194304 op, 18884300.00 ns, 4.5024 ns/op
OverheadActual 3: 4194304 op, 19105200.00 ns, 4.5550 ns/op
OverheadActual 4: 4194304 op, 18915800.00 ns, 4.5099 ns/op
OverheadActual 5: 4194304 op, 18790400.00 ns, 4.4800 ns/op
OverheadActual 6: 4194304 op, 39119700.00 ns, 9.3269 ns/op
OverheadActual 7: 4194304 op, 38271100.00 ns, 9.1245 ns/op
OverheadActual 8: 4194304 op, 22145500.00 ns, 5.2799 ns/op
OverheadActual 9: 4194304 op, 25132900.00 ns, 5.9922 ns/op
OverheadActual 10: 4194304 op, 18152800.00 ns, 4.3280 ns/op
OverheadActual 11: 4194304 op, 20069600.00 ns, 4.7850 ns/op
OverheadActual 12: 4194304 op, 17925300.00 ns, 4.2737 ns/op
OverheadActual 13: 4194304 op, 36692000.00 ns, 8.7481 ns/op
OverheadActual 14: 4194304 op, 17854100.00 ns, 4.2567 ns/op
OverheadActual 15: 4194304 op, 37499300.00 ns, 8.9405 ns/op
OverheadActual 16: 4194304 op, 18148600.00 ns, 4.3270 ns/op
OverheadActual 17: 4194304 op, 17930800.00 ns, 4.2750 ns/op
OverheadActual 18: 4194304 op, 17937000.00 ns, 4.2765 ns/op
OverheadActual 19: 4194304 op, 17795600.00 ns, 4.2428 ns/op
OverheadActual 20: 4194304 op, 17788100.00 ns, 4.2410 ns/op
WorkloadWarmup 1: 4194304 op, 874130700.00 ns, 208.4090 ns/op
WorkloadWarmup 2: 4194304 op, 888595700.00 ns, 211.8577 ns/op
WorkloadWarmup 3: 4194304 op, 925593000.00 ns, 220.6786 ns/op
WorkloadWarmup 4: 4194304 op, 927368000.00 ns, 221.1018 ns/op
WorkloadWarmup 5: 4194304 op, 938824700.00 ns, 223.8333 ns/op
WorkloadWarmup 6: 4194304 op, 886422700.00 ns, 211.3396 ns/op
WorkloadWarmup 7: 4194304 op, 896523400.00 ns, 213.7478 ns/op
WorkloadWarmup 8: 4194304 op, 929032600.00 ns, 221.4986 ns/op
WorkloadWarmup 9: 4194304 op, 930894200.00 ns, 221.9425 ns/op
WorkloadWarmup 10: 4194304 op, 939603200.00 ns, 224.0189 ns/op
WorkloadWarmup 11: 4194304 op, 962830500.00 ns, 229.5567 ns/op
WorkloadWarmup 12: 4194304 op, 908980000.00 ns, 216.7177 ns/op
// BeforeActualRun
WorkloadActual 1: 4194304 op, 967895200.00 ns, 230.7642 ns/op
WorkloadActual 2: 4194304 op, 904099500.00 ns, 215.5541 ns/op
WorkloadActual 3: 4194304 op, 937020500.00 ns, 223.4031 ns/op
WorkloadActual 4: 4194304 op, 947542100.00 ns, 225.9116 ns/op
WorkloadActual 5: 4194304 op, 900170000.00 ns, 214.6173 ns/op
WorkloadActual 6: 4194304 op, 933854900.00 ns, 222.6484 ns/op
WorkloadActual 7: 4194304 op, 926382800.00 ns, 220.8669 ns/op
WorkloadActual 8: 4194304 op, 953509000.00 ns, 227.3343 ns/op
WorkloadActual 9: 4194304 op, 866976100.00 ns, 206.7032 ns/op
WorkloadActual 10: 4194304 op, 978416200.00 ns, 233.2726 ns/op
WorkloadActual 11: 4194304 op, 940514500.00 ns, 224.2361 ns/op
WorkloadActual 12: 4194304 op, 944505000.00 ns, 225.1875 ns/op
WorkloadActual 13: 4194304 op, 867183700.00 ns, 206.7527 ns/op
WorkloadActual 14: 4194304 op, 902577900.00 ns, 215.1913 ns/op
WorkloadActual 15: 4194304 op, 916631800.00 ns, 218.5421 ns/op
WorkloadActual 16: 4194304 op, 884270000.00 ns, 210.8264 ns/op
WorkloadActual 17: 4194304 op, 881761200.00 ns, 210.2283 ns/op
WorkloadActual 18: 4194304 op, 881642000.00 ns, 210.1998 ns/op
WorkloadActual 19: 4194304 op, 935938100.00 ns, 223.1450 ns/op
WorkloadActual 20: 4194304 op, 865936300.00 ns, 206.4553 ns/op
WorkloadActual 21: 4194304 op, 943352700.00 ns, 224.9128 ns/op
WorkloadActual 22: 4194304 op, 933003300.00 ns, 222.4453 ns/op
WorkloadActual 23: 4194304 op, 919988500.00 ns, 219.3424 ns/op
WorkloadActual 24: 4194304 op, 934874100.00 ns, 222.8914 ns/op
WorkloadActual 25: 4194304 op, 931956700.00 ns, 222.1958 ns/op
WorkloadActual 26: 4194304 op, 868626000.00 ns, 207.0966 ns/op
WorkloadActual 27: 4194304 op, 879774400.00 ns, 209.7546 ns/op
WorkloadActual 28: 4194304 op, 1726146100.00 ns, 411.5453 ns/op
WorkloadActual 29: 4194304 op, 873811400.00 ns, 208.3329 ns/op
WorkloadActual 30: 4194304 op, 898001300.00 ns, 214.1002 ns/op
WorkloadActual 31: 4194304 op, 922767300.00 ns, 220.0049 ns/op
WorkloadActual 32: 4194304 op, 898208200.00 ns, 214.1495 ns/op
WorkloadActual 33: 4194304 op, 926487800.00 ns, 220.8919 ns/op
WorkloadActual 34: 4194304 op, 905199900.00 ns, 215.8165 ns/op
WorkloadActual 35: 4194304 op, 918940400.00 ns, 219.0925 ns/op
WorkloadActual 36: 4194304 op, 902655800.00 ns, 215.2099 ns/op
WorkloadActual 37: 4194304 op, 931658500.00 ns, 222.1247 ns/op
// AfterActualRun
WorkloadResult 1: 4194304 op, 949018050.00 ns, 226.2635 ns/op
WorkloadResult 2: 4194304 op, 885222350.00 ns, 211.0535 ns/op
WorkloadResult 3: 4194304 op, 918143350.00 ns, 218.9024 ns/op
WorkloadResult 4: 4194304 op, 928664950.00 ns, 221.4110 ns/op
WorkloadResult 5: 4194304 op, 881292850.00 ns, 210.1166 ns/op
WorkloadResult 6: 4194304 op, 914977750.00 ns, 218.1477 ns/op
WorkloadResult 7: 4194304 op, 907505650.00 ns, 216.3662 ns/op
WorkloadResult 8: 4194304 op, 934631850.00 ns, 222.8336 ns/op
WorkloadResult 9: 4194304 op, 848098950.00 ns, 202.2025 ns/op
WorkloadResult 10: 4194304 op, 959539050.00 ns, 228.7719 ns/op
WorkloadResult 11: 4194304 op, 921637350.00 ns, 219.7355 ns/op
WorkloadResult 12: 4194304 op, 925627850.00 ns, 220.6869 ns/op
WorkloadResult 13: 4194304 op, 848306550.00 ns, 202.2520 ns/op
WorkloadResult 14: 4194304 op, 883700750.00 ns, 210.6907 ns/op
WorkloadResult 15: 4194304 op, 897754650.00 ns, 214.0414 ns/op
WorkloadResult 16: 4194304 op, 865392850.00 ns, 206.3257 ns/op
WorkloadResult 17: 4194304 op, 862884050.00 ns, 205.7276 ns/op
WorkloadResult 18: 4194304 op, 862764850.00 ns, 205.6992 ns/op
WorkloadResult 19: 4194304 op, 917060950.00 ns, 218.6444 ns/op
WorkloadResult 20: 4194304 op, 847059150.00 ns, 201.9546 ns/op
WorkloadResult 21: 4194304 op, 924475550.00 ns, 220.4121 ns/op
WorkloadResult 22: 4194304 op, 914126150.00 ns, 217.9447 ns/op
WorkloadResult 23: 4194304 op, 901111350.00 ns, 214.8417 ns/op
WorkloadResult 24: 4194304 op, 915996950.00 ns, 218.3907 ns/op
WorkloadResult 25: 4194304 op, 913079550.00 ns, 217.6951 ns/op
WorkloadResult 26: 4194304 op, 849748850.00 ns, 202.5959 ns/op
WorkloadResult 27: 4194304 op, 860897250.00 ns, 205.2539 ns/op
WorkloadResult 28: 4194304 op, 854934250.00 ns, 203.8322 ns/op
WorkloadResult 29: 4194304 op, 879124150.00 ns, 209.5995 ns/op
WorkloadResult 30: 4194304 op, 903890150.00 ns, 215.5042 ns/op
WorkloadResult 31: 4194304 op, 879331050.00 ns, 209.6489 ns/op
WorkloadResult 32: 4194304 op, 907610650.00 ns, 216.3912 ns/op
WorkloadResult 33: 4194304 op, 886322750.00 ns, 211.3158 ns/op
WorkloadResult 34: 4194304 op, 900063250.00 ns, 214.5918 ns/op
WorkloadResult 35: 4194304 op, 883778650.00 ns, 210.7092 ns/op
WorkloadResult 36: 4194304 op, 912781350.00 ns, 217.6240 ns/op
// AfterAll
// Benchmark Process 13708 has exited with code 0
Mean = 213.5605 ns, StdErr = 1.1859 ns (0.56%); N = 36, StdDev = 7.1152 ns
Min = 201.9546 ns, Q1 = 207.9626 ns, Median = 214.7167 ns, Q3 = 218.5175 ns, Max = 228.7719 ns
IQR = 10.5549 ns, LowerFence = 192.1303 ns, UpperFence = 234.3499 ns
ConfidenceInterval = [209.3019 ns; 217.8191 ns] (CI 99.9%), Margin = 4.2586 ns (1.99% of Mean)
Skewness = -0.03, Kurtosis = 2.07, MValue = 2
// **************************
// Benchmark: Algorithms.WithCharArray: DefaultJob [ByteArrayInput=Array[8]]
// *** Execute ***
// Launch: 1 / 1
// Execute: dotnet "2425d37e-57c8-496d-9b4b-b221174b8d78.dll" --benchmarkName "HexBenchmark.Algorithms.WithCharArray(ByteArrayInput: [1, 35, 69, 103, 137, ...])" --job "Default" --benchmarkId 4 in C:\git\HexBenchmark\HexBenchmark\bin\Release\netcoreapp3.0\2425d37e-57c8-496d-9b4b-b221174b8d78\bin\Release\netcoreapp3.0
// BeforeAnythingElse
// Benchmark Process Environment Information:
// Runtime=.NET Core 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), X64 RyuJIT
// GC=Concurrent Workstation
// Job: DefaultJob
OverheadJitting 1: 1 op, 438000.00 ns, 438.0000 us/op
WorkloadJitting 1: 1 op, 622700.00 ns, 622.7000 us/op
OverheadJitting 2: 16 op, 1899800.00 ns, 118.7375 us/op
WorkloadJitting 2: 16 op, 2066400.00 ns, 129.1500 us/op
WorkloadPilot 1: 16 op, 2800.00 ns, 175.0000 ns/op
WorkloadPilot 2: 32 op, 3500.00 ns, 109.3750 ns/op
WorkloadPilot 3: 64 op, 5000.00 ns, 78.1250 ns/op
WorkloadPilot 4: 128 op, 9200.00 ns, 71.8750 ns/op
WorkloadPilot 5: 256 op, 19000.00 ns, 74.2188 ns/op
WorkloadPilot 6: 512 op, 91100.00 ns, 177.9297 ns/op
WorkloadPilot 7: 1024 op, 216500.00 ns, 211.4258 ns/op
WorkloadPilot 8: 2048 op, 292200.00 ns, 142.6758 ns/op
WorkloadPilot 9: 4096 op, 749700.00 ns, 183.0322 ns/op
WorkloadPilot 10: 8192 op, 1577400.00 ns, 192.5537 ns/op
WorkloadPilot 11: 16384 op, 1204200.00 ns, 73.4985 ns/op
WorkloadPilot 12: 32768 op, 2179700.00 ns, 66.5192 ns/op
WorkloadPilot 13: 65536 op, 4240500.00 ns, 64.7049 ns/op
WorkloadPilot 14: 131072 op, 6643900.00 ns, 50.6889 ns/op
WorkloadPilot 15: 262144 op, 12272100.00 ns, 46.8143 ns/op
WorkloadPilot 16: 524288 op, 24268200.00 ns, 46.2879 ns/op
WorkloadPilot 17: 1048576 op, 51924700.00 ns, 49.5193 ns/op
WorkloadPilot 18: 2097152 op, 111023300.00 ns, 52.9400 ns/op
WorkloadPilot 19: 4194304 op, 218021900.00 ns, 51.9805 ns/op
WorkloadPilot 20: 8388608 op, 425254200.00 ns, 50.6943 ns/op
WorkloadPilot 21: 16777216 op, 828568900.00 ns, 49.3866 ns/op
OverheadWarmup 1: 16777216 op, 74769900.00 ns, 4.4566 ns/op
OverheadWarmup 2: 16777216 op, 89379600.00 ns, 5.3274 ns/op
OverheadWarmup 3: 16777216 op, 71533500.00 ns, 4.2637 ns/op
OverheadWarmup 4: 16777216 op, 97592400.00 ns, 5.8170 ns/op
OverheadWarmup 5: 16777216 op, 95326600.00 ns, 5.6819 ns/op
OverheadActual 1: 16777216 op, 71414100.00 ns, 4.2566 ns/op
OverheadActual 2: 16777216 op, 70963400.00 ns, 4.2297 ns/op
OverheadActual 3: 16777216 op, 71227700.00 ns, 4.2455 ns/op
OverheadActual 4: 16777216 op, 70775800.00 ns, 4.2186 ns/op
OverheadActual 5: 16777216 op, 70813000.00 ns, 4.2208 ns/op
OverheadActual 6: 16777216 op, 70804700.00 ns, 4.2203 ns/op
OverheadActual 7: 16777216 op, 97006100.00 ns, 5.7820 ns/op
OverheadActual 8: 16777216 op, 71613300.00 ns, 4.2685 ns/op
OverheadActual 9: 16777216 op, 70894900.00 ns, 4.2257 ns/op
OverheadActual 10: 16777216 op, 71018800.00 ns, 4.2331 ns/op
OverheadActual 11: 16777216 op, 71222700.00 ns, 4.2452 ns/op
OverheadActual 12: 16777216 op, 96068600.00 ns, 5.7261 ns/op
OverheadActual 13: 16777216 op, 74570400.00 ns, 4.4447 ns/op
OverheadActual 14: 16777216 op, 95887500.00 ns, 5.7153 ns/op
OverheadActual 15: 16777216 op, 94949200.00 ns, 5.6594 ns/op
OverheadActual 16: 16777216 op, 74513300.00 ns, 4.4413 ns/op
OverheadActual 17: 16777216 op, 75021700.00 ns, 4.4716 ns/op
WorkloadWarmup 1: 16777216 op, 797236600.00 ns, 47.5190 ns/op
WorkloadWarmup 2: 16777216 op, 817261000.00 ns, 48.7126 ns/op
WorkloadWarmup 3: 16777216 op, 760997700.00 ns, 45.3590 ns/op
WorkloadWarmup 4: 16777216 op, 820119300.00 ns, 48.8829 ns/op
WorkloadWarmup 5: 16777216 op, 769608300.00 ns, 45.8722 ns/op
WorkloadWarmup 6: 16777216 op, 760848600.00 ns, 45.3501 ns/op
// BeforeActualRun
WorkloadActual 1: 16777216 op, 794529100.00 ns, 47.3576 ns/op
WorkloadActual 2: 16777216 op, 750937100.00 ns, 44.7593 ns/op
WorkloadActual 3: 16777216 op, 776123300.00 ns, 46.2606 ns/op
WorkloadActual 4: 16777216 op, 773689300.00 ns, 46.1155 ns/op
WorkloadActual 5: 16777216 op, 815555800.00 ns, 48.6109 ns/op
WorkloadActual 6: 16777216 op, 760789300.00 ns, 45.3466 ns/op
WorkloadActual 7: 16777216 op, 756600300.00 ns, 45.0969 ns/op
WorkloadActual 8: 16777216 op, 812537700.00 ns, 48.4310 ns/op
WorkloadActual 9: 16777216 op, 806597500.00 ns, 48.0770 ns/op
WorkloadActual 10: 16777216 op, 830161200.00 ns, 49.4815 ns/op
WorkloadActual 11: 16777216 op, 824511900.00 ns, 49.1447 ns/op
WorkloadActual 12: 16777216 op, 800928500.00 ns, 47.7391 ns/op
WorkloadActual 13: 16777216 op, 787607100.00 ns, 46.9450 ns/op
WorkloadActual 14: 16777216 op, 837775800.00 ns, 49.9353 ns/op
WorkloadActual 15: 16777216 op, 830957000.00 ns, 49.5289 ns/op
WorkloadActual 16: 16777216 op, 778095600.00 ns, 46.3781 ns/op
WorkloadActual 17: 16777216 op, 765102800.00 ns, 45.6037 ns/op
WorkloadActual 18: 16777216 op, 757425500.00 ns, 45.1461 ns/op
WorkloadActual 19: 16777216 op, 759399200.00 ns, 45.2637 ns/op
WorkloadActual 20: 16777216 op, 755393400.00 ns, 45.0250 ns/op
WorkloadActual 21: 16777216 op, 796210500.00 ns, 47.4578 ns/op
WorkloadActual 22: 16777216 op, 755076100.00 ns, 45.0060 ns/op
WorkloadActual 23: 16777216 op, 804390500.00 ns, 47.9454 ns/op
WorkloadActual 24: 16777216 op, 759766900.00 ns, 45.2856 ns/op
WorkloadActual 25: 16777216 op, 757410700.00 ns, 45.1452 ns/op
WorkloadActual 26: 16777216 op, 792068200.00 ns, 47.2109 ns/op
WorkloadActual 27: 16777216 op, 799888400.00 ns, 47.6771 ns/op
WorkloadActual 28: 16777216 op, 765186700.00 ns, 45.6087 ns/op
WorkloadActual 29: 16777216 op, 824810900.00 ns, 49.1626 ns/op
WorkloadActual 30: 16777216 op, 807938100.00 ns, 48.1569 ns/op
WorkloadActual 31: 16777216 op, 807067300.00 ns, 48.1050 ns/op
WorkloadActual 32: 16777216 op, 804017000.00 ns, 47.9231 ns/op
WorkloadActual 33: 16777216 op, 804476800.00 ns, 47.9506 ns/op
WorkloadActual 34: 16777216 op, 813862200.00 ns, 48.5100 ns/op
WorkloadActual 35: 16777216 op, 817285500.00 ns, 48.7140 ns/op
WorkloadActual 36: 16777216 op, 786851800.00 ns, 46.9000 ns/op
// AfterActualRun
WorkloadResult 1: 16777216 op, 723115000.00 ns, 43.1010 ns/op
WorkloadResult 2: 16777216 op, 679523000.00 ns, 40.5027 ns/op
WorkloadResult 3: 16777216 op, 704709200.00 ns, 42.0039 ns/op
WorkloadResult 4: 16777216 op, 702275200.00 ns, 41.8589 ns/op
WorkloadResult 5: 16777216 op, 744141700.00 ns, 44.3543 ns/op
WorkloadResult 6: 16777216 op, 689375200.00 ns, 41.0900 ns/op
WorkloadResult 7: 16777216 op, 685186200.00 ns, 40.8403 ns/op
WorkloadResult 8: 16777216 op, 741123600.00 ns, 44.1744 ns/op
WorkloadResult 9: 16777216 op, 735183400.00 ns, 43.8203 ns/op
WorkloadResult 10: 16777216 op, 758747100.00 ns, 45.2249 ns/op
WorkloadResult 11: 16777216 op, 753097800.00 ns, 44.8881 ns/op
WorkloadResult 12: 16777216 op, 729514400.00 ns, 43.4824 ns/op
WorkloadResult 13: 16777216 op, 716193000.00 ns, 42.6884 ns/op
WorkloadResult 14: 16777216 op, 766361700.00 ns, 45.6787 ns/op
WorkloadResult 15: 16777216 op, 759542900.00 ns, 45.2723 ns/op
WorkloadResult 16: 16777216 op, 706681500.00 ns, 42.1215 ns/op
WorkloadResult 17: 16777216 op, 693688700.00 ns, 41.3471 ns/op
WorkloadResult 18: 16777216 op, 686011400.00 ns, 40.8895 ns/op
WorkloadResult 19: 16777216 op, 687985100.00 ns, 41.0071 ns/op
WorkloadResult 20: 16777216 op, 683979300.00 ns, 40.7683 ns/op
WorkloadResult 21: 16777216 op, 724796400.00 ns, 43.2012 ns/op
WorkloadResult 22: 16777216 op, 683662000.00 ns, 40.7494 ns/op
WorkloadResult 23: 16777216 op, 732976400.00 ns, 43.6888 ns/op
WorkloadResult 24: 16777216 op, 688352800.00 ns, 41.0290 ns/op
WorkloadResult 25: 16777216 op, 685996600.00 ns, 40.8886 ns/op
WorkloadResult 26: 16777216 op, 720654100.00 ns, 42.9543 ns/op
WorkloadResult 27: 16777216 op, 728474300.00 ns, 43.4205 ns/op
WorkloadResult 28: 16777216 op, 693772600.00 ns, 41.3521 ns/op
WorkloadResult 29: 16777216 op, 753396800.00 ns, 44.9059 ns/op
WorkloadResult 30: 16777216 op, 736524000.00 ns, 43.9003 ns/op
WorkloadResult 31: 16777216 op, 735653200.00 ns, 43.8483 ns/op
WorkloadResult 32: 16777216 op, 732602900.00 ns, 43.6665 ns/op
WorkloadResult 33: 16777216 op, 733062700.00 ns, 43.6939 ns/op
WorkloadResult 34: 16777216 op, 742448100.00 ns, 44.2534 ns/op
WorkloadResult 35: 16777216 op, 745871400.00 ns, 44.4574 ns/op
WorkloadResult 36: 16777216 op, 715437700.00 ns, 42.6434 ns/op
// AfterAll
// Benchmark Process 30052 has exited with code 0
Mean = 42.8824 ns, StdErr = 0.2598 ns (0.61%); N = 36, StdDev = 1.5590 ns
Min = 40.5027 ns, Q1 = 41.2185 ns, Median = 43.1511 ns, Q3 = 44.0373 ns, Max = 45.6787 ns
IQR = 2.8188 ns, LowerFence = 36.9903 ns, UpperFence = 48.2656 ns
ConfidenceInterval = [41.9493 ns; 43.8155 ns] (CI 99.9%), Margin = 0.9331 ns (2.18% of Mean)
Skewness = -0.03, Kurtosis = 1.63, MValue = 3.45
// **************************
// Benchmark: Algorithms.WithBitShifts: DefaultJob [ByteArrayInput=Array[8]]
// *** Execute ***
// Launch: 1 / 1
// Execute: dotnet "2425d37e-57c8-496d-9b4b-b221174b8d78.dll" --benchmarkName "HexBenchmark.Algorithms.WithBitShifts(ByteArrayInput: [1, 35, 69, 103, 137, ...])" --job "Default" --benchmarkId 5 in C:\git\HexBenchmark\HexBenchmark\bin\Release\netcoreapp3.0\2425d37e-57c8-496d-9b4b-b221174b8d78\bin\Release\netcoreapp3.0
// BeforeAnythingElse
// Benchmark Process Environment Information:
// Runtime=.NET Core 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), X64 RyuJIT
// GC=Concurrent Workstation
// Job: DefaultJob
OverheadJitting 1: 1 op, 440500.00 ns, 440.5000 us/op
WorkloadJitting 1: 1 op, 613700.00 ns, 613.7000 us/op
OverheadJitting 2: 16 op, 2153900.00 ns, 134.6188 us/op
WorkloadJitting 2: 16 op, 787600.00 ns, 49.2250 us/op
WorkloadPilot 1: 16 op, 2600.00 ns, 162.5000 ns/op
WorkloadPilot 2: 32 op, 3400.00 ns, 106.2500 ns/op
WorkloadPilot 3: 64 op, 4800.00 ns, 75.0000 ns/op
WorkloadPilot 4: 128 op, 9500.00 ns, 74.2188 ns/op
WorkloadPilot 5: 256 op, 47100.00 ns, 183.9844 ns/op
WorkloadPilot 6: 512 op, 72400.00 ns, 141.4062 ns/op
WorkloadPilot 7: 1024 op, 236000.00 ns, 230.4688 ns/op
WorkloadPilot 8: 2048 op, 115600.00 ns, 56.4453 ns/op
WorkloadPilot 9: 4096 op, 313700.00 ns, 76.5869 ns/op
WorkloadPilot 10: 8192 op, 566800.00 ns, 69.1895 ns/op
WorkloadPilot 11: 16384 op, 1129700.00 ns, 68.9514 ns/op
WorkloadPilot 12: 32768 op, 2118200.00 ns, 64.6423 ns/op
WorkloadPilot 13: 65536 op, 4032400.00 ns, 61.5295 ns/op
WorkloadPilot 14: 131072 op, 6120800.00 ns, 46.6980 ns/op
WorkloadPilot 15: 262144 op, 11511300.00 ns, 43.9121 ns/op
WorkloadPilot 16: 524288 op, 22063600.00 ns, 42.0830 ns/op
WorkloadPilot 17: 1048576 op, 62585300.00 ns, 59.6860 ns/op
WorkloadPilot 18: 2097152 op, 84227600.00 ns, 40.1628 ns/op
WorkloadPilot 19: 4194304 op, 196066400.00 ns, 46.7459 ns/op
WorkloadPilot 20: 8388608 op, 362512300.00 ns, 43.2148 ns/op
WorkloadPilot 21: 16777216 op, 677269400.00 ns, 40.3684 ns/op
OverheadWarmup 1: 16777216 op, 70811000.00 ns, 4.2207 ns/op
OverheadWarmup 2: 16777216 op, 71097500.00 ns, 4.2377 ns/op
OverheadWarmup 3: 16777216 op, 70251100.00 ns, 4.1873 ns/op
OverheadWarmup 4: 16777216 op, 70493300.00 ns, 4.2017 ns/op
OverheadWarmup 5: 16777216 op, 70674300.00 ns, 4.2125 ns/op
OverheadWarmup 6: 16777216 op, 70590100.00 ns, 4.2075 ns/op
OverheadActual 1: 16777216 op, 71303600.00 ns, 4.2500 ns/op
OverheadActual 2: 16777216 op, 70680400.00 ns, 4.2129 ns/op
OverheadActual 3: 16777216 op, 70206100.00 ns, 4.1846 ns/op
OverheadActual 4: 16777216 op, 70280200.00 ns, 4.1890 ns/op
OverheadActual 5: 16777216 op, 70765100.00 ns, 4.2179 ns/op
OverheadActual 6: 16777216 op, 70731800.00 ns, 4.2159 ns/op
OverheadActual 7: 16777216 op, 70311700.00 ns, 4.1909 ns/op
OverheadActual 8: 16777216 op, 70241700.00 ns, 4.1867 ns/op
OverheadActual 9: 16777216 op, 70688200.00 ns, 4.2133 ns/op
OverheadActual 10: 16777216 op, 70728000.00 ns, 4.2157 ns/op
OverheadActual 11: 16777216 op, 69834700.00 ns, 4.1625 ns/op
OverheadActual 12: 16777216 op, 84049300.00 ns, 5.0097 ns/op
OverheadActual 13: 16777216 op, 86349500.00 ns, 5.1468 ns/op
OverheadActual 14: 16777216 op, 94134200.00 ns, 5.6108 ns/op
OverheadActual 15: 16777216 op, 74545100.00 ns, 4.4432 ns/op
WorkloadWarmup 1: 16777216 op, 702481900.00 ns, 41.8712 ns/op
WorkloadWarmup 2: 16777216 op, 715685300.00 ns, 42.6582 ns/op
WorkloadWarmup 3: 16777216 op, 679967500.00 ns, 40.5292 ns/op
WorkloadWarmup 4: 16777216 op, 674518200.00 ns, 40.2044 ns/op
WorkloadWarmup 5: 16777216 op, 671460600.00 ns, 40.0222 ns/op
WorkloadWarmup 6: 16777216 op, 728350500.00 ns, 43.4131 ns/op
WorkloadWarmup 7: 16777216 op, 725326300.00 ns, 43.2328 ns/op
// BeforeActualRun
WorkloadActual 1: 16777216 op, 744903300.00 ns, 44.3997 ns/op
WorkloadActual 2: 16777216 op, 750739700.00 ns, 44.7476 ns/op
WorkloadActual 3: 16777216 op, 761143400.00 ns, 45.3677 ns/op
WorkloadActual 4: 16777216 op, 729170100.00 ns, 43.4619 ns/op
WorkloadActual 5: 16777216 op, 762960600.00 ns, 45.4760 ns/op
WorkloadActual 6: 16777216 op, 713451600.00 ns, 42.5250 ns/op
WorkloadActual 7: 16777216 op, 696533700.00 ns, 41.5166 ns/op
WorkloadActual 8: 16777216 op, 753381100.00 ns, 44.9050 ns/op
WorkloadActual 9: 16777216 op, 752159300.00 ns, 44.8322 ns/op
WorkloadActual 10: 16777216 op, 708080000.00 ns, 42.2049 ns/op
WorkloadActual 11: 16777216 op, 740640800.00 ns, 44.1456 ns/op
WorkloadActual 12: 16777216 op, 692907500.00 ns, 41.3005 ns/op
WorkloadActual 13: 16777216 op, 678853200.00 ns, 40.4628 ns/op
WorkloadActual 14: 16777216 op, 746702200.00 ns, 44.5069 ns/op
WorkloadActual 15: 16777216 op, 755144800.00 ns, 45.0101 ns/op
WorkloadActual 16: 16777216 op, 713200200.00 ns, 42.5100 ns/op
WorkloadActual 17: 16777216 op, 748805100.00 ns, 44.6323 ns/op
WorkloadActual 18: 16777216 op, 785056500.00 ns, 46.7930 ns/op
WorkloadActual 19: 16777216 op, 682699800.00 ns, 40.6921 ns/op
WorkloadActual 20: 16777216 op, 735967900.00 ns, 43.8671 ns/op
WorkloadActual 21: 16777216 op, 679084900.00 ns, 40.4766 ns/op
WorkloadActual 22: 16777216 op, 679326500.00 ns, 40.4910 ns/op
WorkloadActual 23: 16777216 op, 730546100.00 ns, 43.5439 ns/op
WorkloadActual 24: 16777216 op, 714565300.00 ns, 42.5914 ns/op
WorkloadActual 25: 16777216 op, 677119300.00 ns, 40.3595 ns/op
WorkloadActual 26: 16777216 op, 676937800.00 ns, 40.3486 ns/op
WorkloadActual 27: 16777216 op, 673384500.00 ns, 40.1368 ns/op
WorkloadActual 28: 16777216 op, 693090500.00 ns, 41.3114 ns/op
WorkloadActual 29: 16777216 op, 685065100.00 ns, 40.8331 ns/op
WorkloadActual 30: 16777216 op, 801954300.00 ns, 47.8002 ns/op
WorkloadActual 31: 16777216 op, 729023300.00 ns, 43.4532 ns/op
WorkloadActual 32: 16777216 op, 707142800.00 ns, 42.1490 ns/op
WorkloadActual 33: 16777216 op, 738045400.00 ns, 43.9909 ns/op
WorkloadActual 34: 16777216 op, 716109000.00 ns, 42.6834 ns/op
WorkloadActual 35: 16777216 op, 723399600.00 ns, 43.1180 ns/op
WorkloadActual 36: 16777216 op, 679747300.00 ns, 40.5161 ns/op
WorkloadActual 37: 16777216 op, 711040100.00 ns, 42.3813 ns/op
WorkloadActual 38: 16777216 op, 692003200.00 ns, 41.2466 ns/op
WorkloadActual 39: 16777216 op, 713290800.00 ns, 42.5154 ns/op
WorkloadActual 40: 16777216 op, 745493000.00 ns, 44.4348 ns/op
WorkloadActual 41: 16777216 op, 715684500.00 ns, 42.6581 ns/op
WorkloadActual 42: 16777216 op, 755576100.00 ns, 45.0358 ns/op
WorkloadActual 43: 16777216 op, 751113300.00 ns, 44.7698 ns/op
WorkloadActual 44: 16777216 op, 770854000.00 ns, 45.9465 ns/op
WorkloadActual 45: 16777216 op, 750488200.00 ns, 44.7326 ns/op
WorkloadActual 46: 16777216 op, 736543600.00 ns, 43.9014 ns/op
WorkloadActual 47: 16777216 op, 690679500.00 ns, 41.1677 ns/op
WorkloadActual 48: 16777216 op, 772159100.00 ns, 46.0243 ns/op
WorkloadActual 49: 16777216 op, 739359000.00 ns, 44.0692 ns/op
WorkloadActual 50: 16777216 op, 728336000.00 ns, 43.4122 ns/op
WorkloadActual 51: 16777216 op, 738719400.00 ns, 44.0311 ns/op
WorkloadActual 52: 16777216 op, 733365300.00 ns, 43.7120 ns/op
WorkloadActual 53: 16777216 op, 734451200.00 ns, 43.7767 ns/op
WorkloadActual 54: 16777216 op, 741191200.00 ns, 44.1784 ns/op
WorkloadActual 55: 16777216 op, 750035400.00 ns, 44.7056 ns/op
// AfterActualRun
WorkloadResult 1: 16777216 op, 674175300.00 ns, 40.1840 ns/op
WorkloadResult 2: 16777216 op, 680011700.00 ns, 40.5319 ns/op
WorkloadResult 3: 16777216 op, 690415400.00 ns, 41.1520 ns/op
WorkloadResult 4: 16777216 op, 658442100.00 ns, 39.2462 ns/op
WorkloadResult 5: 16777216 op, 692232600.00 ns, 41.2603 ns/op
WorkloadResult 6: 16777216 op, 642723600.00 ns, 38.3093 ns/op
WorkloadResult 7: 16777216 op, 625805700.00 ns, 37.3009 ns/op
WorkloadResult 8: 16777216 op, 682653100.00 ns, 40.6893 ns/op
WorkloadResult 9: 16777216 op, 681431300.00 ns, 40.6165 ns/op
WorkloadResult 10: 16777216 op, 637352000.00 ns, 37.9891 ns/op
WorkloadResult 11: 16777216 op, 669912800.00 ns, 39.9299 ns/op
WorkloadResult 12: 16777216 op, 622179500.00 ns, 37.0848 ns/op
WorkloadResult 13: 16777216 op, 608125200.00 ns, 36.2471 ns/op
WorkloadResult 14: 16777216 op, 675974200.00 ns, 40.2912 ns/op
WorkloadResult 15: 16777216 op, 684416800.00 ns, 40.7944 ns/op
WorkloadResult 16: 16777216 op, 642472200.00 ns, 38.2943 ns/op
WorkloadResult 17: 16777216 op, 678077100.00 ns, 40.4165 ns/op
WorkloadResult 18: 16777216 op, 714328500.00 ns, 42.5773 ns/op
WorkloadResult 19: 16777216 op, 611971800.00 ns, 36.4764 ns/op
WorkloadResult 20: 16777216 op, 665239900.00 ns, 39.6514 ns/op
WorkloadResult 21: 16777216 op, 608356900.00 ns, 36.2609 ns/op
WorkloadResult 22: 16777216 op, 608598500.00 ns, 36.2753 ns/op
WorkloadResult 23: 16777216 op, 659818100.00 ns, 39.3282 ns/op
WorkloadResult 24: 16777216 op, 643837300.00 ns, 38.3757 ns/op
WorkloadResult 25: 16777216 op, 606391300.00 ns, 36.1437 ns/op
WorkloadResult 26: 16777216 op, 606209800.00 ns, 36.1329 ns/op
WorkloadResult 27: 16777216 op, 602656500.00 ns, 35.9211 ns/op
WorkloadResult 28: 16777216 op, 622362500.00 ns, 37.0957 ns/op
WorkloadResult 29: 16777216 op, 614337100.00 ns, 36.6173 ns/op
WorkloadResult 30: 16777216 op, 731226300.00 ns, 43.5845 ns/op
WorkloadResult 31: 16777216 op, 658295300.00 ns, 39.2375 ns/op
WorkloadResult 32: 16777216 op, 636414800.00 ns, 37.9333 ns/op
WorkloadResult 33: 16777216 op, 667317400.00 ns, 39.7752 ns/op
WorkloadResult 34: 16777216 op, 645381000.00 ns, 38.4677 ns/op
WorkloadResult 35: 16777216 op, 652671600.00 ns, 38.9023 ns/op
WorkloadResult 36: 16777216 op, 609019300.00 ns, 36.3004 ns/op
WorkloadResult 37: 16777216 op, 640312100.00 ns, 38.1656 ns/op
WorkloadResult 38: 16777216 op, 621275200.00 ns, 37.0309 ns/op
WorkloadResult 39: 16777216 op, 642562800.00 ns, 38.2997 ns/op
WorkloadResult 40: 16777216 op, 674765000.00 ns, 40.2191 ns/op
WorkloadResult 41: 16777216 op, 644956500.00 ns, 38.4424 ns/op
WorkloadResult 42: 16777216 op, 684848100.00 ns, 40.8201 ns/op
WorkloadResult 43: 16777216 op, 680385300.00 ns, 40.5541 ns/op
WorkloadResult 44: 16777216 op, 700126000.00 ns, 41.7308 ns/op
WorkloadResult 45: 16777216 op, 679760200.00 ns, 40.5169 ns/op
WorkloadResult 46: 16777216 op, 665815600.00 ns, 39.6857 ns/op
WorkloadResult 47: 16777216 op, 619951500.00 ns, 36.9520 ns/op
WorkloadResult 48: 16777216 op, 701431100.00 ns, 41.8086 ns/op
WorkloadResult 49: 16777216 op, 668631000.00 ns, 39.8535 ns/op
WorkloadResult 50: 16777216 op, 657608000.00 ns, 39.1965 ns/op
WorkloadResult 51: 16777216 op, 667991400.00 ns, 39.8154 ns/op
WorkloadResult 52: 16777216 op, 662637300.00 ns, 39.4963 ns/op
WorkloadResult 53: 16777216 op, 663723200.00 ns, 39.5610 ns/op
WorkloadResult 54: 16777216 op, 670463200.00 ns, 39.9627 ns/op
WorkloadResult 55: 16777216 op, 679307400.00 ns, 40.4899 ns/op
// AfterAll
// Benchmark Process 141968 has exited with code 0
Mean = 39.0545 ns, StdErr = 0.2485 ns (0.64%); N = 55, StdDev = 1.8427 ns
Min = 35.9211 ns, Q1 = 37.3009 ns, Median = 39.3282 ns, Q3 = 40.4899 ns, Max = 43.5845 ns
IQR = 3.1889 ns, LowerFence = 32.5175 ns, UpperFence = 45.2733 ns
ConfidenceInterval = [38.1898 ns; 39.9191 ns] (CI 99.9%), Margin = 0.8647 ns (2.21% of Mean)
Skewness = -0.01, Kurtosis = 2.26, MValue = 2.57
// **************************
// Benchmark: Algorithms.WithLookupTable: DefaultJob [ByteArrayInput=Array[8]]
// *** Execute ***
// Launch: 1 / 1
// Execute: dotnet "2425d37e-57c8-496d-9b4b-b221174b8d78.dll" --benchmarkName "HexBenchmark.Algorithms.WithLookupTable(ByteArrayInput: [1, 35, 69, 103, 137, ...])" --job "Default" --benchmarkId 6 in C:\git\HexBenchmark\HexBenchmark\bin\Release\netcoreapp3.0\2425d37e-57c8-496d-9b4b-b221174b8d78\bin\Release\netcoreapp3.0
// BeforeAnythingElse
// Benchmark Process Environment Information:
// Runtime=.NET Core 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), X64 RyuJIT
// GC=Concurrent Workstation
// Job: DefaultJob
OverheadJitting 1: 1 op, 421200.00 ns, 421.2000 us/op
WorkloadJitting 1: 1 op, 1333500.00 ns, 1.3335 ms/op
OverheadJitting 2: 16 op, 2074700.00 ns, 129.6687 us/op
WorkloadJitting 2: 16 op, 793500.00 ns, 49.5938 us/op
WorkloadPilot 1: 16 op, 11100.00 ns, 693.7500 ns/op
WorkloadPilot 2: 32 op, 16400.00 ns, 512.5000 ns/op
WorkloadPilot 3: 64 op, 28900.00 ns, 451.5625 ns/op
WorkloadPilot 4: 128 op, 19900.00 ns, 155.4688 ns/op
WorkloadPilot 5: 256 op, 112800.00 ns, 440.6250 ns/op
WorkloadPilot 6: 512 op, 78600.00 ns, 153.5156 ns/op
WorkloadPilot 7: 1024 op, 180300.00 ns, 176.0742 ns/op
WorkloadPilot 8: 2048 op, 312800.00 ns, 152.7344 ns/op
WorkloadPilot 9: 4096 op, 650000.00 ns, 158.6914 ns/op
WorkloadPilot 10: 8192 op, 3440200.00 ns, 419.9463 ns/op
WorkloadPilot 11: 16384 op, 2575200.00 ns, 157.1777 ns/op
WorkloadPilot 12: 32768 op, 5090900.00 ns, 155.3619 ns/op
WorkloadPilot 13: 65536 op, 10941100.00 ns, 166.9479 ns/op
WorkloadPilot 14: 131072 op, 18092900.00 ns, 138.0379 ns/op
WorkloadPilot 15: 262144 op, 35176000.00 ns, 134.1858 ns/op
WorkloadPilot 16: 524288 op, 70300200.00 ns, 134.0870 ns/op
WorkloadPilot 17: 1048576 op, 142062500.00 ns, 135.4814 ns/op
WorkloadPilot 18: 2097152 op, 264221400.00 ns, 125.9906 ns/op
WorkloadPilot 19: 4194304 op, 512995100.00 ns, 122.3076 ns/op
OverheadWarmup 1: 4194304 op, 30092400.00 ns, 7.1746 ns/op
OverheadWarmup 2: 4194304 op, 17969300.00 ns, 4.2842 ns/op
OverheadWarmup 3: 4194304 op, 17865400.00 ns, 4.2594 ns/op
OverheadWarmup 4: 4194304 op, 18066000.00 ns, 4.3073 ns/op
OverheadWarmup 5: 4194304 op, 29069600.00 ns, 6.9307 ns/op
OverheadWarmup 6: 4194304 op, 22679700.00 ns, 5.4073 ns/op
OverheadWarmup 7: 4194304 op, 21877100.00 ns, 5.2159 ns/op
OverheadWarmup 8: 4194304 op, 37289100.00 ns, 8.8904 ns/op
OverheadWarmup 9: 4194304 op, 33657100.00 ns, 8.0245 ns/op
OverheadActual 1: 4194304 op, 25555000.00 ns, 6.0928 ns/op
OverheadActual 2: 4194304 op, 20653400.00 ns, 4.9242 ns/op
OverheadActual 3: 4194304 op, 17745800.00 ns, 4.2309 ns/op
OverheadActual 4: 4194304 op, 17760800.00 ns, 4.2345 ns/op
OverheadActual 5: 4194304 op, 17903000.00 ns, 4.2684 ns/op
OverheadActual 6: 4194304 op, 17892800.00 ns, 4.2660 ns/op
OverheadActual 7: 4194304 op, 18073600.00 ns, 4.3091 ns/op
OverheadActual 8: 4194304 op, 17697600.00 ns, 4.2194 ns/op
OverheadActual 9: 4194304 op, 32829800.00 ns, 7.8272 ns/op
OverheadActual 10: 4194304 op, 18068200.00 ns, 4.3078 ns/op
OverheadActual 11: 4194304 op, 17788700.00 ns, 4.2412 ns/op
OverheadActual 12: 4194304 op, 17941000.00 ns, 4.2775 ns/op
OverheadActual 13: 4194304 op, 32367800.00 ns, 7.7171 ns/op
OverheadActual 14: 4194304 op, 17809700.00 ns, 4.2462 ns/op
OverheadActual 15: 4194304 op, 17743800.00 ns, 4.2305 ns/op
OverheadActual 16: 4194304 op, 42850600.00 ns, 10.2164 ns/op
OverheadActual 17: 4194304 op, 35025900.00 ns, 8.3508 ns/op
OverheadActual 18: 4194304 op, 18114500.00 ns, 4.3188 ns/op
OverheadActual 19: 4194304 op, 17520800.00 ns, 4.1773 ns/op
OverheadActual 20: 4194304 op, 25160100.00 ns, 5.9986 ns/op
WorkloadWarmup 1: 4194304 op, 542300600.00 ns, 129.2945 ns/op
WorkloadWarmup 2: 4194304 op, 551042900.00 ns, 131.3789 ns/op
WorkloadWarmup 3: 4194304 op, 515896200.00 ns, 122.9992 ns/op
WorkloadWarmup 4: 4194304 op, 514552700.00 ns, 122.6789 ns/op
WorkloadWarmup 5: 4194304 op, 550550200.00 ns, 131.2614 ns/op
WorkloadWarmup 6: 4194304 op, 516079200.00 ns, 123.0429 ns/op
// BeforeActualRun
WorkloadActual 1: 4194304 op, 512977500.00 ns, 122.3034 ns/op
WorkloadActual 2: 4194304 op, 556708300.00 ns, 132.7296 ns/op
WorkloadActual 3: 4194304 op, 560121100.00 ns, 133.5433 ns/op
WorkloadActual 4: 4194304 op, 582191600.00 ns, 138.8053 ns/op
WorkloadActual 5: 4194304 op, 557830900.00 ns, 132.9973 ns/op
WorkloadActual 6: 4194304 op, 585749000.00 ns, 139.6534 ns/op
WorkloadActual 7: 4194304 op, 572680600.00 ns, 136.5377 ns/op
WorkloadActual 8: 4194304 op, 562265900.00 ns, 134.0546 ns/op
WorkloadActual 9: 4194304 op, 565302400.00 ns, 134.7786 ns/op
WorkloadActual 10: 4194304 op, 518614200.00 ns, 123.6473 ns/op
WorkloadActual 11: 4194304 op, 571048600.00 ns, 136.1486 ns/op
WorkloadActual 12: 4194304 op, 535774200.00 ns, 127.7385 ns/op
WorkloadActual 13: 4194304 op, 561417900.00 ns, 133.8525 ns/op
WorkloadActual 14: 4194304 op, 521388400.00 ns, 124.3087 ns/op
WorkloadActual 15: 4194304 op, 554474000.00 ns, 132.1969 ns/op
WorkloadActual 16: 4194304 op, 563577600.00 ns, 134.3674 ns/op
WorkloadActual 17: 4194304 op, 516110200.00 ns, 123.0503 ns/op
WorkloadActual 18: 4194304 op, 518074700.00 ns, 123.5186 ns/op
WorkloadActual 19: 4194304 op, 517988900.00 ns, 123.4982 ns/op
WorkloadActual 20: 4194304 op, 580697600.00 ns, 138.4491 ns/op
WorkloadActual 21: 4194304 op, 569739000.00 ns, 135.8364 ns/op
WorkloadActual 22: 4194304 op, 552041900.00 ns, 131.6170 ns/op
WorkloadActual 23: 4194304 op, 528767400.00 ns, 126.0680 ns/op
WorkloadActual 24: 4194304 op, 564052400.00 ns, 134.4806 ns/op
WorkloadActual 25: 4194304 op, 526353300.00 ns, 125.4924 ns/op
WorkloadActual 26: 4194304 op, 574601700.00 ns, 136.9957 ns/op
WorkloadActual 27: 4194304 op, 543767000.00 ns, 129.6442 ns/op
WorkloadActual 28: 4194304 op, 520398800.00 ns, 124.0727 ns/op
WorkloadActual 29: 4194304 op, 537688200.00 ns, 128.1949 ns/op
WorkloadActual 30: 4194304 op, 537542700.00 ns, 128.1602 ns/op
WorkloadActual 31: 4194304 op, 521450500.00 ns, 124.3235 ns/op
WorkloadActual 32: 4194304 op, 584775600.00 ns, 139.4214 ns/op
WorkloadActual 33: 4194304 op, 517393500.00 ns, 123.3562 ns/op
WorkloadActual 34: 4194304 op, 573891700.00 ns, 136.8264 ns/op
WorkloadActual 35: 4194304 op, 565791100.00 ns, 134.8951 ns/op
WorkloadActual 36: 4194304 op, 567094700.00 ns, 135.2059 ns/op
WorkloadActual 37: 4194304 op, 554106000.00 ns, 132.1092 ns/op
WorkloadActual 38: 4194304 op, 540198200.00 ns, 128.7933 ns/op
WorkloadActual 39: 4194304 op, 566472400.00 ns, 135.0575 ns/op
WorkloadActual 40: 4194304 op, 517276600.00 ns, 123.3284 ns/op
WorkloadActual 41: 4194304 op, 560831900.00 ns, 133.7127 ns/op
WorkloadActual 42: 4194304 op, 507154000.00 ns, 120.9149 ns/op
WorkloadActual 43: 4194304 op, 510875900.00 ns, 121.8023 ns/op
WorkloadActual 44: 4194304 op, 506544000.00 ns, 120.7695 ns/op
WorkloadActual 45: 4194304 op, 562623500.00 ns, 134.1399 ns/op
WorkloadActual 46: 4194304 op, 521928400.00 ns, 124.4374 ns/op
WorkloadActual 47: 4194304 op, 559768800.00 ns, 133.4593 ns/op
WorkloadActual 48: 4194304 op, 537672100.00 ns, 128.1910 ns/op
WorkloadActual 49: 4194304 op, 507757500.00 ns, 121.0588 ns/op
WorkloadActual 50: 4194304 op, 580668000.00 ns, 138.4420 ns/op
WorkloadActual 51: 4194304 op, 560621400.00 ns, 133.6626 ns/op
WorkloadActual 52: 4194304 op, 563387400.00 ns, 134.3220 ns/op
WorkloadActual 53: 4194304 op, 569609200.00 ns, 135.8054 ns/op
WorkloadActual 54: 4194304 op, 558578200.00 ns, 133.1754 ns/op
WorkloadActual 55: 4194304 op, 543994100.00 ns, 129.6983 ns/op
WorkloadActual 56: 4194304 op, 588251200.00 ns, 140.2500 ns/op
WorkloadActual 57: 4194304 op, 567721000.00 ns, 135.3552 ns/op
WorkloadActual 58: 4194304 op, 552923900.00 ns, 131.8273 ns/op
// AfterActualRun
WorkloadResult 1: 4194304 op, 494972900.00 ns, 118.0107 ns/op
WorkloadResult 2: 4194304 op, 538703700.00 ns, 128.4370 ns/op
WorkloadResult 3: 4194304 op, 542116500.00 ns, 129.2506 ns/op
WorkloadResult 4: 4194304 op, 564187000.00 ns, 134.5127 ns/op
WorkloadResult 5: 4194304 op, 539826300.00 ns, 128.7046 ns/op
WorkloadResult 6: 4194304 op, 567744400.00 ns, 135.3608 ns/op
WorkloadResult 7: 4194304 op, 554676000.00 ns, 132.2451 ns/op
WorkloadResult 8: 4194304 op, 544261300.00 ns, 129.7620 ns/op
WorkloadResult 9: 4194304 op, 547297800.00 ns, 130.4860 ns/op
WorkloadResult 10: 4194304 op, 500609600.00 ns, 119.3546 ns/op
WorkloadResult 11: 4194304 op, 553044000.00 ns, 131.8560 ns/op
WorkloadResult 12: 4194304 op, 517769600.00 ns, 123.4459 ns/op
WorkloadResult 13: 4194304 op, 543413300.00 ns, 129.5598 ns/op
WorkloadResult 14: 4194304 op, 503383800.00 ns, 120.0161 ns/op
WorkloadResult 15: 4194304 op, 536469400.00 ns, 127.9043 ns/op
WorkloadResult 16: 4194304 op, 545573000.00 ns, 130.0747 ns/op
WorkloadResult 17: 4194304 op, 498105600.00 ns, 118.7576 ns/op
WorkloadResult 18: 4194304 op, 500070100.00 ns, 119.2260 ns/op
WorkloadResult 19: 4194304 op, 499984300.00 ns, 119.2055 ns/op
WorkloadResult 20: 4194304 op, 562693000.00 ns, 134.1565 ns/op
WorkloadResult 21: 4194304 op, 551734400.00 ns, 131.5437 ns/op
WorkloadResult 22: 4194304 op, 534037300.00 ns, 127.3244 ns/op
WorkloadResult 23: 4194304 op, 510762800.00 ns, 121.7753 ns/op
WorkloadResult 24: 4194304 op, 546047800.00 ns, 130.1879 ns/op
WorkloadResult 25: 4194304 op, 508348700.00 ns, 121.1998 ns/op
WorkloadResult 26: 4194304 op, 556597100.00 ns, 132.7031 ns/op
WorkloadResult 27: 4194304 op, 525762400.00 ns, 125.3515 ns/op
WorkloadResult 28: 4194304 op, 502394200.00 ns, 119.7801 ns/op
WorkloadResult 29: 4194304 op, 519683600.00 ns, 123.9022 ns/op
WorkloadResult 30: 4194304 op, 519538100.00 ns, 123.8675 ns/op
WorkloadResult 31: 4194304 op, 503445900.00 ns, 120.0309 ns/op
WorkloadResult 32: 4194304 op, 566771000.00 ns, 135.1287 ns/op
WorkloadResult 33: 4194304 op, 499388900.00 ns, 119.0636 ns/op
WorkloadResult 34: 4194304 op, 555887100.00 ns, 132.5338 ns/op
WorkloadResult 35: 4194304 op, 547786500.00 ns, 130.6025 ns/op
WorkloadResult 36: 4194304 op, 549090100.00 ns, 130.9133 ns/op
WorkloadResult 37: 4194304 op, 536101400.00 ns, 127.8165 ns/op
WorkloadResult 38: 4194304 op, 522193600.00 ns, 124.5007 ns/op
WorkloadResult 39: 4194304 op, 548467800.00 ns, 130.7649 ns/op
WorkloadResult 40: 4194304 op, 499272000.00 ns, 119.0357 ns/op
WorkloadResult 41: 4194304 op, 542827300.00 ns, 129.4201 ns/op
WorkloadResult 42: 4194304 op, 489149400.00 ns, 116.6223 ns/op
WorkloadResult 43: 4194304 op, 492871300.00 ns, 117.5097 ns/op
WorkloadResult 44: 4194304 op, 488539400.00 ns, 116.4769 ns/op
WorkloadResult 45: 4194304 op, 544618900.00 ns, 129.8473 ns/op
WorkloadResult 46: 4194304 op, 503923800.00 ns, 120.1448 ns/op
WorkloadResult 47: 4194304 op, 541764200.00 ns, 129.1667 ns/op
WorkloadResult 48: 4194304 op, 519667500.00 ns, 123.8984 ns/op
WorkloadResult 49: 4194304 op, 489752900.00 ns, 116.7662 ns/op
WorkloadResult 50: 4194304 op, 562663400.00 ns, 134.1494 ns/op
WorkloadResult 51: 4194304 op, 542616800.00 ns, 129.3699 ns/op
WorkloadResult 52: 4194304 op, 545382800.00 ns, 130.0294 ns/op
WorkloadResult 53: 4194304 op, 551604600.00 ns, 131.5128 ns/op
WorkloadResult 54: 4194304 op, 540573600.00 ns, 128.8828 ns/op
WorkloadResult 55: 4194304 op, 525989500.00 ns, 125.4057 ns/op
WorkloadResult 56: 4194304 op, 570246600.00 ns, 135.9574 ns/op
WorkloadResult 57: 4194304 op, 549716400.00 ns, 131.0626 ns/op
WorkloadResult 58: 4194304 op, 534919300.00 ns, 127.5347 ns/op
// AfterAll
// Benchmark Process 1656 has exited with code 0
Mean = 126.5881 ns, StdErr = 0.7486 ns (0.59%); N = 58, StdDev = 5.7014 ns
Min = 116.4769 ns, Q1 = 120.1448 ns, Median = 128.5708 ns, Q3 = 130.7649 ns, Max = 135.9574 ns
IQR = 10.6201 ns, LowerFence = 104.2146 ns, UpperFence = 146.6951 ns
ConfidenceInterval = [123.9907 ns; 129.1855 ns] (CI 99.9%), Margin = 2.5974 ns (2.05% of Mean)
Skewness = -0.3, Kurtosis = 1.76, MValue = 2.96
// **************************
// Benchmark: Algorithms.WithLookupArray: DefaultJob [ByteArrayInput=Array[8]]
// *** Execute ***
// Launch: 1 / 1
// Execute: dotnet "2425d37e-57c8-496d-9b4b-b221174b8d78.dll" --benchmarkName "HexBenchmark.Algorithms.WithLookupArray(ByteArrayInput: [1, 35, 69, 103, 137, ...])" --job "Default" --benchmarkId 7 in C:\git\HexBenchmark\HexBenchmark\bin\Release\netcoreapp3.0\2425d37e-57c8-496d-9b4b-b221174b8d78\bin\Release\netcoreapp3.0
// BeforeAnythingElse
// Benchmark Process Environment Information:
// Runtime=.NET Core 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), X64 RyuJIT
// GC=Concurrent Workstation
// Job: DefaultJob
OverheadJitting 1: 1 op, 418700.00 ns, 418.7000 us/op
WorkloadJitting 1: 1 op, 681400.00 ns, 681.4000 us/op
OverheadJitting 2: 16 op, 791600.00 ns, 49.4750 us/op
WorkloadJitting 2: 16 op, 683600.00 ns, 42.7250 us/op
WorkloadPilot 1: 16 op, 2600.00 ns, 162.5000 ns/op
WorkloadPilot 2: 32 op, 2900.00 ns, 90.6250 ns/op
WorkloadPilot 3: 64 op, 4000.00 ns, 62.5000 ns/op
WorkloadPilot 4: 128 op, 6700.00 ns, 52.3438 ns/op
WorkloadPilot 5: 256 op, 11300.00 ns, 44.1406 ns/op
WorkloadPilot 6: 512 op, 24500.00 ns, 47.8516 ns/op
WorkloadPilot 7: 1024 op, 68200.00 ns, 66.6016 ns/op
WorkloadPilot 8: 2048 op, 79400.00 ns, 38.7695 ns/op
WorkloadPilot 9: 4096 op, 233900.00 ns, 57.1045 ns/op
WorkloadPilot 10: 8192 op, 487600.00 ns, 59.5215 ns/op
WorkloadPilot 11: 16384 op, 953300.00 ns, 58.1848 ns/op
WorkloadPilot 12: 32768 op, 2091000.00 ns, 63.8123 ns/op
WorkloadPilot 13: 65536 op, 4145900.00 ns, 63.2614 ns/op
WorkloadPilot 14: 131072 op, 5779700.00 ns, 44.0956 ns/op
WorkloadPilot 15: 262144 op, 10345700.00 ns, 39.4657 ns/op
WorkloadPilot 16: 524288 op, 20293500.00 ns, 38.7068 ns/op
WorkloadPilot 17: 1048576 op, 62193100.00 ns, 59.3120 ns/op
WorkloadPilot 18: 2097152 op, 82406900.00 ns, 39.2947 ns/op
WorkloadPilot 19: 4194304 op, 188597200.00 ns, 44.9651 ns/op
WorkloadPilot 20: 8388608 op, 329980500.00 ns, 39.3367 ns/op
WorkloadPilot 21: 16777216 op, 624328200.00 ns, 37.2129 ns/op
OverheadWarmup 1: 16777216 op, 70933000.00 ns, 4.2279 ns/op
OverheadWarmup 2: 16777216 op, 70970200.00 ns, 4.2302 ns/op
OverheadWarmup 3: 16777216 op, 70528600.00 ns, 4.2038 ns/op
OverheadWarmup 4: 16777216 op, 70828500.00 ns, 4.2217 ns/op
OverheadWarmup 5: 16777216 op, 98360300.00 ns, 5.8627 ns/op
OverheadWarmup 6: 16777216 op, 74378500.00 ns, 4.4333 ns/op
OverheadActual 1: 16777216 op, 74557900.00 ns, 4.4440 ns/op
OverheadActual 2: 16777216 op, 88160700.00 ns, 5.2548 ns/op
OverheadActual 3: 16777216 op, 70290600.00 ns, 4.1896 ns/op
OverheadActual 4: 16777216 op, 70556300.00 ns, 4.2055 ns/op
OverheadActual 5: 16777216 op, 69972200.00 ns, 4.1707 ns/op
OverheadActual 6: 16777216 op, 71108300.00 ns, 4.2384 ns/op
OverheadActual 7: 16777216 op, 70366300.00 ns, 4.1942 ns/op
OverheadActual 8: 16777216 op, 70262200.00 ns, 4.1880 ns/op
OverheadActual 9: 16777216 op, 70467100.00 ns, 4.2002 ns/op
OverheadActual 10: 16777216 op, 93660200.00 ns, 5.5826 ns/op
OverheadActual 11: 16777216 op, 84753400.00 ns, 5.0517 ns/op
OverheadActual 12: 16777216 op, 70589700.00 ns, 4.2075 ns/op
OverheadActual 13: 16777216 op, 71527200.00 ns, 4.2634 ns/op
OverheadActual 14: 16777216 op, 88000400.00 ns, 5.2452 ns/op
OverheadActual 15: 16777216 op, 74580300.00 ns, 4.4453 ns/op
OverheadActual 16: 16777216 op, 74817600.00 ns, 4.4595 ns/op
OverheadActual 17: 16777216 op, 92770200.00 ns, 5.5295 ns/op
OverheadActual 18: 16777216 op, 72841500.00 ns, 4.3417 ns/op
OverheadActual 19: 16777216 op, 71914200.00 ns, 4.2864 ns/op
OverheadActual 20: 16777216 op, 71510900.00 ns, 4.2624 ns/op
WorkloadWarmup 1: 16777216 op, 621351000.00 ns, 37.0354 ns/op
WorkloadWarmup 2: 16777216 op, 668515000.00 ns, 39.8466 ns/op
WorkloadWarmup 3: 16777216 op, 673462500.00 ns, 40.1415 ns/op
WorkloadWarmup 4: 16777216 op, 672932900.00 ns, 40.1099 ns/op
WorkloadWarmup 5: 16777216 op, 671262200.00 ns, 40.0103 ns/op
WorkloadWarmup 6: 16777216 op, 628316000.00 ns, 37.4506 ns/op
WorkloadWarmup 7: 16777216 op, 668658300.00 ns, 39.8551 ns/op
WorkloadWarmup 8: 16777216 op, 661211500.00 ns, 39.4113 ns/op
// BeforeActualRun
WorkloadActual 1: 16777216 op, 649318200.00 ns, 38.7024 ns/op
WorkloadActual 2: 16777216 op, 655865100.00 ns, 39.0926 ns/op
WorkloadActual 3: 16777216 op, 628735700.00 ns, 37.4756 ns/op
WorkloadActual 4: 16777216 op, 621285500.00 ns, 37.0315 ns/op
WorkloadActual 5: 16777216 op, 625157700.00 ns, 37.2623 ns/op
WorkloadActual 6: 16777216 op, 619123300.00 ns, 36.9026 ns/op
WorkloadActual 7: 16777216 op, 625299500.00 ns, 37.2708 ns/op
WorkloadActual 8: 16777216 op, 619146900.00 ns, 36.9040 ns/op
WorkloadActual 9: 16777216 op, 622848000.00 ns, 37.1246 ns/op
WorkloadActual 10: 16777216 op, 672649700.00 ns, 40.0930 ns/op
WorkloadActual 11: 16777216 op, 660299200.00 ns, 39.3569 ns/op
WorkloadActual 12: 16777216 op, 685529700.00 ns, 40.8608 ns/op
WorkloadActual 13: 16777216 op, 620047800.00 ns, 36.9577 ns/op
WorkloadActual 14: 16777216 op, 653833700.00 ns, 38.9715 ns/op
WorkloadActual 15: 16777216 op, 661788500.00 ns, 39.4457 ns/op
WorkloadActual 16: 16777216 op, 667633700.00 ns, 39.7941 ns/op
WorkloadActual 17: 16777216 op, 681179000.00 ns, 40.6014 ns/op
WorkloadActual 18: 16777216 op, 623428900.00 ns, 37.1593 ns/op
WorkloadActual 19: 16777216 op, 659344300.00 ns, 39.3000 ns/op
WorkloadActual 20: 16777216 op, 675692100.00 ns, 40.2744 ns/op
WorkloadActual 21: 16777216 op, 637662700.00 ns, 38.0077 ns/op
WorkloadActual 22: 16777216 op, 655887800.00 ns, 39.0940 ns/op
WorkloadActual 23: 16777216 op, 621838200.00 ns, 37.0644 ns/op
WorkloadActual 24: 16777216 op, 620953900.00 ns, 37.0117 ns/op
WorkloadActual 25: 16777216 op, 707457500.00 ns, 42.1678 ns/op
WorkloadActual 26: 16777216 op, 696693800.00 ns, 41.5262 ns/op
WorkloadActual 27: 16777216 op, 681928200.00 ns, 40.6461 ns/op
WorkloadActual 28: 16777216 op, 686179500.00 ns, 40.8995 ns/op
WorkloadActual 29: 16777216 op, 680875900.00 ns, 40.5834 ns/op
WorkloadActual 30: 16777216 op, 668936700.00 ns, 39.8717 ns/op
WorkloadActual 31: 16777216 op, 628416200.00 ns, 37.4565 ns/op
WorkloadActual 32: 16777216 op, 635244300.00 ns, 37.8635 ns/op
WorkloadActual 33: 16777216 op, 682537500.00 ns, 40.6824 ns/op
WorkloadActual 34: 16777216 op, 655254300.00 ns, 39.0562 ns/op
WorkloadActual 35: 16777216 op, 622710500.00 ns, 37.1164 ns/op
WorkloadActual 36: 16777216 op, 646011800.00 ns, 38.5053 ns/op
WorkloadActual 37: 16777216 op, 668100900.00 ns, 39.8219 ns/op
WorkloadActual 38: 16777216 op, 621098400.00 ns, 37.0203 ns/op
WorkloadActual 39: 16777216 op, 664420700.00 ns, 39.6026 ns/op
WorkloadActual 40: 16777216 op, 640303400.00 ns, 38.1651 ns/op
WorkloadActual 41: 16777216 op, 706054000.00 ns, 42.0841 ns/op
WorkloadActual 42: 16777216 op, 646566600.00 ns, 38.5384 ns/op
WorkloadActual 43: 16777216 op, 668309100.00 ns, 39.8343 ns/op
WorkloadActual 44: 16777216 op, 625850500.00 ns, 37.3036 ns/op
WorkloadActual 45: 16777216 op, 629495500.00 ns, 37.5209 ns/op
WorkloadActual 46: 16777216 op, 618149400.00 ns, 36.8446 ns/op
WorkloadActual 47: 16777216 op, 619764100.00 ns, 36.9408 ns/op
WorkloadActual 48: 16777216 op, 670517400.00 ns, 39.9660 ns/op
WorkloadActual 49: 16777216 op, 638535600.00 ns, 38.0597 ns/op
WorkloadActual 50: 16777216 op, 673939900.00 ns, 40.1699 ns/op
// AfterActualRun
WorkloadResult 1: 16777216 op, 577597500.00 ns, 34.4275 ns/op
WorkloadResult 2: 16777216 op, 584144400.00 ns, 34.8177 ns/op
WorkloadResult 3: 16777216 op, 557015000.00 ns, 33.2007 ns/op
WorkloadResult 4: 16777216 op, 549564800.00 ns, 32.7566 ns/op
WorkloadResult 5: 16777216 op, 553437000.00 ns, 32.9874 ns/op
WorkloadResult 6: 16777216 op, 547402600.00 ns, 32.6277 ns/op
WorkloadResult 7: 16777216 op, 553578800.00 ns, 32.9959 ns/op
WorkloadResult 8: 16777216 op, 547426200.00 ns, 32.6291 ns/op
WorkloadResult 9: 16777216 op, 551127300.00 ns, 32.8497 ns/op
WorkloadResult 10: 16777216 op, 600929000.00 ns, 35.8182 ns/op
WorkloadResult 11: 16777216 op, 588578500.00 ns, 35.0820 ns/op
WorkloadResult 12: 16777216 op, 613809000.00 ns, 36.5859 ns/op
WorkloadResult 13: 16777216 op, 548327100.00 ns, 32.6828 ns/op
WorkloadResult 14: 16777216 op, 582113000.00 ns, 34.6966 ns/op
WorkloadResult 15: 16777216 op, 590067800.00 ns, 35.1708 ns/op
WorkloadResult 16: 16777216 op, 595913000.00 ns, 35.5192 ns/op
WorkloadResult 17: 16777216 op, 609458300.00 ns, 36.3265 ns/op
WorkloadResult 18: 16777216 op, 551708200.00 ns, 32.8844 ns/op
WorkloadResult 19: 16777216 op, 587623600.00 ns, 35.0251 ns/op
WorkloadResult 20: 16777216 op, 603971400.00 ns, 35.9995 ns/op
WorkloadResult 21: 16777216 op, 565942000.00 ns, 33.7328 ns/op
WorkloadResult 22: 16777216 op, 584167100.00 ns, 34.8191 ns/op
WorkloadResult 23: 16777216 op, 550117500.00 ns, 32.7896 ns/op
WorkloadResult 24: 16777216 op, 549233200.00 ns, 32.7368 ns/op
WorkloadResult 25: 16777216 op, 635736800.00 ns, 37.8929 ns/op
WorkloadResult 26: 16777216 op, 624973100.00 ns, 37.2513 ns/op
WorkloadResult 27: 16777216 op, 610207500.00 ns, 36.3712 ns/op
WorkloadResult 28: 16777216 op, 614458800.00 ns, 36.6246 ns/op
WorkloadResult 29: 16777216 op, 609155200.00 ns, 36.3085 ns/op
WorkloadResult 30: 16777216 op, 597216000.00 ns, 35.5968 ns/op
WorkloadResult 31: 16777216 op, 556695500.00 ns, 33.1816 ns/op
WorkloadResult 32: 16777216 op, 563523600.00 ns, 33.5886 ns/op
WorkloadResult 33: 16777216 op, 610816800.00 ns, 36.4075 ns/op
WorkloadResult 34: 16777216 op, 583533600.00 ns, 34.7813 ns/op
WorkloadResult 35: 16777216 op, 550989800.00 ns, 32.8416 ns/op
WorkloadResult 36: 16777216 op, 574291100.00 ns, 34.2304 ns/op
WorkloadResult 37: 16777216 op, 596380200.00 ns, 35.5470 ns/op
WorkloadResult 38: 16777216 op, 549377700.00 ns, 32.7455 ns/op
WorkloadResult 39: 16777216 op, 592700000.00 ns, 35.3277 ns/op
WorkloadResult 40: 16777216 op, 568582700.00 ns, 33.8902 ns/op
WorkloadResult 41: 16777216 op, 634333300.00 ns, 37.8092 ns/op
WorkloadResult 42: 16777216 op, 574845900.00 ns, 34.2635 ns/op
WorkloadResult 43: 16777216 op, 596588400.00 ns, 35.5594 ns/op
WorkloadResult 44: 16777216 op, 554129800.00 ns, 33.0287 ns/op
WorkloadResult 45: 16777216 op, 557774800.00 ns, 33.2460 ns/op
WorkloadResult 46: 16777216 op, 546428700.00 ns, 32.5697 ns/op
WorkloadResult 47: 16777216 op, 548043400.00 ns, 32.6659 ns/op
WorkloadResult 48: 16777216 op, 598796700.00 ns, 35.6911 ns/op
WorkloadResult 49: 16777216 op, 566814900.00 ns, 33.7848 ns/op
WorkloadResult 50: 16777216 op, 602219200.00 ns, 35.8951 ns/op
// AfterAll
// Benchmark Process 156920 has exited with code 0
Mean = 34.5252 ns, StdErr = 0.2197 ns (0.64%); N = 50, StdDev = 1.5536 ns
Min = 32.5697 ns, Q1 = 32.9874 ns, Median = 34.5621 ns, Q3 = 35.6911 ns, Max = 37.8929 ns
IQR = 2.7036 ns, LowerFence = 28.9319 ns, UpperFence = 39.7465 ns
ConfidenceInterval = [33.7561 ns; 35.2943 ns] (CI 99.9%), Margin = 0.7691 ns (2.23% of Mean)
Skewness = 0.33, Kurtosis = 1.9, MValue = 2.56
// **************************
// Benchmark: Algorithms.WithDoubleLookupArray: DefaultJob [ByteArrayInput=Array[8]]
// *** Execute ***
// Launch: 1 / 1
// Execute: dotnet "2425d37e-57c8-496d-9b4b-b221174b8d78.dll" --benchmarkName "HexBenchmark.Algorithms.WithDoubleLookupArray(ByteArrayInput: [1, 35, 69, 103, 137, ...])" --job "Default" --benchmarkId 8 in C:\git\HexBenchmark\HexBenchmark\bin\Release\netcoreapp3.0\2425d37e-57c8-496d-9b4b-b221174b8d78\bin\Release\netcoreapp3.0
// BeforeAnythingElse
// Benchmark Process Environment Information:
// Runtime=.NET Core 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), X64 RyuJIT
// GC=Concurrent Workstation
// Job: DefaultJob
OverheadJitting 1: 1 op, 431300.00 ns, 431.3000 us/op
WorkloadJitting 1: 1 op, 613200.00 ns, 613.2000 us/op
OverheadJitting 2: 16 op, 780600.00 ns, 48.7875 us/op
WorkloadJitting 2: 16 op, 783900.00 ns, 48.9937 us/op
WorkloadPilot 1: 16 op, 2500.00 ns, 156.2500 ns/op
WorkloadPilot 2: 32 op, 2900.00 ns, 90.6250 ns/op
WorkloadPilot 3: 64 op, 10700.00 ns, 167.1875 ns/op
WorkloadPilot 4: 128 op, 18900.00 ns, 147.6562 ns/op
WorkloadPilot 5: 256 op, 119000.00 ns, 464.8438 ns/op
WorkloadPilot 6: 512 op, 27500.00 ns, 53.7109 ns/op
WorkloadPilot 7: 1024 op, 77600.00 ns, 75.7812 ns/op
WorkloadPilot 8: 2048 op, 85900.00 ns, 41.9434 ns/op
WorkloadPilot 9: 4096 op, 256400.00 ns, 62.5977 ns/op
WorkloadPilot 10: 8192 op, 544000.00 ns, 66.4062 ns/op
WorkloadPilot 11: 16384 op, 1011900.00 ns, 61.7615 ns/op
WorkloadPilot 12: 32768 op, 4537300.00 ns, 138.4674 ns/op
WorkloadPilot 13: 65536 op, 4093700.00 ns, 62.4649 ns/op
WorkloadPilot 14: 131072 op, 15051000.00 ns, 114.8300 ns/op
WorkloadPilot 15: 262144 op, 17487400.00 ns, 66.7091 ns/op
WorkloadPilot 16: 524288 op, 26127600.00 ns, 49.8344 ns/op
WorkloadPilot 17: 1048576 op, 44141300.00 ns, 42.0964 ns/op
WorkloadPilot 18: 2097152 op, 85226500.00 ns, 40.6392 ns/op
WorkloadPilot 19: 4194304 op, 169208500.00 ns, 40.3425 ns/op
WorkloadPilot 20: 8388608 op, 320818400.00 ns, 38.2445 ns/op
WorkloadPilot 21: 16777216 op, 633824900.00 ns, 37.7789 ns/op
OverheadWarmup 1: 16777216 op, 70707200.00 ns, 4.2145 ns/op
OverheadWarmup 2: 16777216 op, 72138500.00 ns, 4.2998 ns/op
OverheadWarmup 3: 16777216 op, 88369000.00 ns, 5.2672 ns/op
OverheadWarmup 4: 16777216 op, 75940300.00 ns, 4.5264 ns/op
OverheadWarmup 5: 16777216 op, 92494900.00 ns, 5.5131 ns/op
OverheadWarmup 6: 16777216 op, 73973700.00 ns, 4.4092 ns/op
OverheadActual 1: 16777216 op, 73957500.00 ns, 4.4082 ns/op
OverheadActual 2: 16777216 op, 89818600.00 ns, 5.3536 ns/op
OverheadActual 3: 16777216 op, 70822600.00 ns, 4.2214 ns/op
OverheadActual 4: 16777216 op, 71887800.00 ns, 4.2848 ns/op
OverheadActual 5: 16777216 op, 70848900.00 ns, 4.2229 ns/op
OverheadActual 6: 16777216 op, 70874000.00 ns, 4.2244 ns/op
OverheadActual 7: 16777216 op, 71191600.00 ns, 4.2434 ns/op
OverheadActual 8: 16777216 op, 99995000.00 ns, 5.9602 ns/op
OverheadActual 9: 16777216 op, 74263000.00 ns, 4.4264 ns/op
OverheadActual 10: 16777216 op, 81006700.00 ns, 4.8284 ns/op
OverheadActual 11: 16777216 op, 90157500.00 ns, 5.3738 ns/op
OverheadActual 12: 16777216 op, 86463900.00 ns, 5.1537 ns/op
OverheadActual 13: 16777216 op, 90918500.00 ns, 5.4192 ns/op
OverheadActual 14: 16777216 op, 70970100.00 ns, 4.2301 ns/op
OverheadActual 15: 16777216 op, 97596200.00 ns, 5.8172 ns/op
OverheadActual 16: 16777216 op, 92020400.00 ns, 5.4848 ns/op
OverheadActual 17: 16777216 op, 92314600.00 ns, 5.5024 ns/op
OverheadActual 18: 16777216 op, 87380900.00 ns, 5.2083 ns/op
OverheadActual 19: 16777216 op, 70239500.00 ns, 4.1866 ns/op
OverheadActual 20: 16777216 op, 70059300.00 ns, 4.1759 ns/op
WorkloadWarmup 1: 16777216 op, 663414800.00 ns, 39.5426 ns/op
WorkloadWarmup 2: 16777216 op, 680741900.00 ns, 40.5754 ns/op
WorkloadWarmup 3: 16777216 op, 647734400.00 ns, 38.6080 ns/op
WorkloadWarmup 4: 16777216 op, 665627500.00 ns, 39.6745 ns/op
WorkloadWarmup 5: 16777216 op, 663202800.00 ns, 39.5300 ns/op
WorkloadWarmup 6: 16777216 op, 683910500.00 ns, 40.7642 ns/op
// BeforeActualRun
WorkloadActual 1: 16777216 op, 639538900.00 ns, 38.1195 ns/op
WorkloadActual 2: 16777216 op, 724045300.00 ns, 43.1565 ns/op
WorkloadActual 3: 16777216 op, 638795600.00 ns, 38.0752 ns/op
WorkloadActual 4: 16777216 op, 691923500.00 ns, 41.2419 ns/op
WorkloadActual 5: 16777216 op, 656833200.00 ns, 39.1503 ns/op
WorkloadActual 6: 16777216 op, 642288900.00 ns, 38.2834 ns/op
WorkloadActual 7: 16777216 op, 636336300.00 ns, 37.9286 ns/op
WorkloadActual 8: 16777216 op, 642977900.00 ns, 38.3245 ns/op
WorkloadActual 9: 16777216 op, 636823000.00 ns, 37.9576 ns/op
WorkloadActual 10: 16777216 op, 661486300.00 ns, 39.4277 ns/op
WorkloadActual 11: 16777216 op, 644199200.00 ns, 38.3973 ns/op
WorkloadActual 12: 16777216 op, 642494700.00 ns, 38.2957 ns/op
WorkloadActual 13: 16777216 op, 678490100.00 ns, 40.4412 ns/op
WorkloadActual 14: 16777216 op, 693506800.00 ns, 41.3362 ns/op
WorkloadActual 15: 16777216 op, 655788700.00 ns, 39.0881 ns/op
WorkloadActual 16: 16777216 op, 668424000.00 ns, 39.8412 ns/op
WorkloadActual 17: 16777216 op, 636647500.00 ns, 37.9471 ns/op
WorkloadActual 18: 16777216 op, 640582700.00 ns, 38.1817 ns/op
WorkloadActual 19: 16777216 op, 667780600.00 ns, 39.8028 ns/op
WorkloadActual 20: 16777216 op, 689393300.00 ns, 41.0910 ns/op
WorkloadActual 21: 16777216 op, 636214300.00 ns, 37.9213 ns/op
WorkloadActual 22: 16777216 op, 634317900.00 ns, 37.8083 ns/op
WorkloadActual 23: 16777216 op, 638295300.00 ns, 38.0454 ns/op
WorkloadActual 24: 16777216 op, 695272600.00 ns, 41.4415 ns/op
WorkloadActual 25: 16777216 op, 684433700.00 ns, 40.7954 ns/op
WorkloadActual 26: 16777216 op, 694560600.00 ns, 41.3990 ns/op
WorkloadActual 27: 16777216 op, 636856300.00 ns, 37.9596 ns/op
WorkloadActual 28: 16777216 op, 639262700.00 ns, 38.1030 ns/op
WorkloadActual 29: 16777216 op, 636615400.00 ns, 37.9452 ns/op
WorkloadActual 30: 16777216 op, 635457400.00 ns, 37.8762 ns/op
WorkloadActual 31: 16777216 op, 686012500.00 ns, 40.8895 ns/op
WorkloadActual 32: 16777216 op, 695742500.00 ns, 41.4695 ns/op
WorkloadActual 33: 16777216 op, 648441800.00 ns, 38.6501 ns/op
WorkloadActual 34: 16777216 op, 706556200.00 ns, 42.1140 ns/op
WorkloadActual 35: 16777216 op, 725293100.00 ns, 43.2308 ns/op
WorkloadActual 36: 16777216 op, 706283000.00 ns, 42.0977 ns/op
WorkloadActual 37: 16777216 op, 648347400.00 ns, 38.6445 ns/op
WorkloadActual 38: 16777216 op, 664805400.00 ns, 39.6255 ns/op
WorkloadActual 39: 16777216 op, 668950700.00 ns, 39.8726 ns/op
WorkloadActual 40: 16777216 op, 635181700.00 ns, 37.8598 ns/op
WorkloadActual 41: 16777216 op, 638162100.00 ns, 38.0374 ns/op
WorkloadActual 42: 16777216 op, 701438700.00 ns, 41.8090 ns/op
WorkloadActual 43: 16777216 op, 654907500.00 ns, 39.0355 ns/op
WorkloadActual 44: 16777216 op, 673057700.00 ns, 40.1174 ns/op
WorkloadActual 45: 16777216 op, 635984900.00 ns, 37.9077 ns/op
WorkloadActual 46: 16777216 op, 666117600.00 ns, 39.7037 ns/op
WorkloadActual 47: 16777216 op, 685954900.00 ns, 40.8861 ns/op
WorkloadActual 48: 16777216 op, 637066000.00 ns, 37.9721 ns/op
WorkloadActual 49: 16777216 op, 684324700.00 ns, 40.7889 ns/op
WorkloadActual 50: 16777216 op, 685185900.00 ns, 40.8403 ns/op
// AfterActualRun
WorkloadResult 1: 16777216 op, 561904050.00 ns, 33.4921 ns/op
WorkloadResult 2: 16777216 op, 646410450.00 ns, 38.5291 ns/op
WorkloadResult 3: 16777216 op, 561160750.00 ns, 33.4478 ns/op
WorkloadResult 4: 16777216 op, 614288650.00 ns, 36.6145 ns/op
WorkloadResult 5: 16777216 op, 579198350.00 ns, 34.5229 ns/op
WorkloadResult 6: 16777216 op, 564654050.00 ns, 33.6560 ns/op
WorkloadResult 7: 16777216 op, 558701450.00 ns, 33.3012 ns/op
WorkloadResult 8: 16777216 op, 565343050.00 ns, 33.6971 ns/op
WorkloadResult 9: 16777216 op, 559188150.00 ns, 33.3302 ns/op
WorkloadResult 10: 16777216 op, 583851450.00 ns, 34.8003 ns/op
WorkloadResult 11: 16777216 op, 566564350.00 ns, 33.7699 ns/op
WorkloadResult 12: 16777216 op, 564859850.00 ns, 33.6683 ns/op
WorkloadResult 13: 16777216 op, 600855250.00 ns, 35.8138 ns/op
WorkloadResult 14: 16777216 op, 615871950.00 ns, 36.7088 ns/op
WorkloadResult 15: 16777216 op, 578153850.00 ns, 34.4607 ns/op
WorkloadResult 16: 16777216 op, 590789150.00 ns, 35.2138 ns/op
WorkloadResult 17: 16777216 op, 559012650.00 ns, 33.3198 ns/op
WorkloadResult 18: 16777216 op, 562947850.00 ns, 33.5543 ns/op
WorkloadResult 19: 16777216 op, 590145750.00 ns, 35.1754 ns/op
WorkloadResult 20: 16777216 op, 611758450.00 ns, 36.4636 ns/op
WorkloadResult 21: 16777216 op, 558579450.00 ns, 33.2939 ns/op
WorkloadResult 22: 16777216 op, 556683050.00 ns, 33.1809 ns/op
WorkloadResult 23: 16777216 op, 560660450.00 ns, 33.4180 ns/op
WorkloadResult 24: 16777216 op, 617637750.00 ns, 36.8141 ns/op
WorkloadResult 25: 16777216 op, 606798850.00 ns, 36.1680 ns/op
WorkloadResult 26: 16777216 op, 616925750.00 ns, 36.7716 ns/op
WorkloadResult 27: 16777216 op, 559221450.00 ns, 33.3322 ns/op
WorkloadResult 28: 16777216 op, 561627850.00 ns, 33.4756 ns/op
WorkloadResult 29: 16777216 op, 558980550.00 ns, 33.3178 ns/op
WorkloadResult 30: 16777216 op, 557822550.00 ns, 33.2488 ns/op
WorkloadResult 31: 16777216 op, 608377650.00 ns, 36.2621 ns/op
WorkloadResult 32: 16777216 op, 618107650.00 ns, 36.8421 ns/op
WorkloadResult 33: 16777216 op, 570806950.00 ns, 34.0227 ns/op
WorkloadResult 34: 16777216 op, 628921350.00 ns, 37.4866 ns/op
WorkloadResult 35: 16777216 op, 647658250.00 ns, 38.6034 ns/op
WorkloadResult 36: 16777216 op, 628648150.00 ns, 37.4703 ns/op
WorkloadResult 37: 16777216 op, 570712550.00 ns, 34.0171 ns/op
WorkloadResult 38: 16777216 op, 587170550.00 ns, 34.9981 ns/op
WorkloadResult 39: 16777216 op, 591315850.00 ns, 35.2452 ns/op
WorkloadResult 40: 16777216 op, 557546850.00 ns, 33.2324 ns/op
WorkloadResult 41: 16777216 op, 560527250.00 ns, 33.4100 ns/op
WorkloadResult 42: 16777216 op, 623803850.00 ns, 37.1816 ns/op
WorkloadResult 43: 16777216 op, 577272650.00 ns, 34.4081 ns/op
WorkloadResult 44: 16777216 op, 595422850.00 ns, 35.4900 ns/op
WorkloadResult 45: 16777216 op, 558350050.00 ns, 33.2803 ns/op
WorkloadResult 46: 16777216 op, 588482750.00 ns, 35.0763 ns/op
WorkloadResult 47: 16777216 op, 608320050.00 ns, 36.2587 ns/op
WorkloadResult 48: 16777216 op, 559431150.00 ns, 33.3447 ns/op
WorkloadResult 49: 16777216 op, 606689850.00 ns, 36.1615 ns/op
WorkloadResult 50: 16777216 op, 607551050.00 ns, 36.2129 ns/op
// AfterAll
// Benchmark Process 35836 has exited with code 0
Mean = 34.9113 ns, StdErr = 0.2249 ns (0.64%); N = 50, StdDev = 1.5905 ns
Min = 33.1809 ns, Q1 = 33.4180 ns, Median = 34.4918 ns, Q3 = 36.2587 ns, Max = 38.6034 ns
IQR = 2.8407 ns, LowerFence = 29.1569 ns, UpperFence = 40.5198 ns
ConfidenceInterval = [34.1239 ns; 35.6986 ns] (CI 99.9%), Margin = 0.7874 ns (2.26% of Mean)
Skewness = 0.58, Kurtosis = 2.07, MValue = 2.67
// ***** BenchmarkRunner: Finish *****
// * Export *
BenchmarkDotNet.Artifacts\results\HexBenchmark.Algorithms-report.csv
BenchmarkDotNet.Artifacts\results\HexBenchmark.Algorithms-report-github.md
BenchmarkDotNet.Artifacts\results\HexBenchmark.Algorithms-report.html
// * Detailed results *
Algorithms.WithStringJoin: DefaultJob [ByteArrayInput=Array[8]]
Runtime = .NET Core 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), X64 RyuJIT; GC = Concurrent Workstation
Mean = 507.2133 ns, StdErr = 2.9232 ns (0.58%); N = 57, StdDev = 22.0700 ns
Min = 472.8441 ns, Q1 = 485.3258 ns, Median = 512.4944 ns, Q3 = 523.3744 ns, Max = 555.9567 ns
IQR = 38.0486 ns, LowerFence = 428.2530 ns, UpperFence = 580.4472 ns
ConfidenceInterval = [497.0612 ns; 517.3655 ns] (CI 99.9%), Margin = 10.1522 ns (2.00% of Mean)
Skewness = -0.1, Kurtosis = 2.04, MValue = 2.86
-------------------- Histogram --------------------
[471.543 ns ; 481.579 ns) | @@@@@@@@@@@@@
[481.579 ns ; 499.544 ns) | @@@@@@@@@
[499.544 ns ; 509.909 ns) | @
[509.909 ns ; 530.418 ns) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[530.418 ns ; 558.705 ns) | @@@@@@
---------------------------------------------------
Algorithms.WithStringBuilder: DefaultJob [ByteArrayInput=Array[8]]
Runtime = .NET Core 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), X64 RyuJIT; GC = Concurrent Workstation
Mean = 337.1035 ns, StdErr = 2.0840 ns (0.62%); N = 46, StdDev = 14.1346 ns
Min = 311.0356 ns, Q1 = 329.0305 ns, Median = 338.9391 ns, Q3 = 343.5276 ns, Max = 370.1647 ns
IQR = 14.4970 ns, LowerFence = 307.2850 ns, UpperFence = 365.2731 ns
ConfidenceInterval = [329.7672 ns; 344.4398 ns] (CI 99.9%), Margin = 7.3363 ns (2.18% of Mean)
Skewness = -0.02, Kurtosis = 2.8, MValue = 2.7
-------------------- Histogram --------------------
[309.828 ns ; 322.582 ns) | @@@@@@@@
[322.582 ns ; 330.035 ns) | @@@@
[330.035 ns ; 336.795 ns) | @@@@@
[336.795 ns ; 346.197 ns) | @@@@@@@@@@@@@@@@@@
[346.197 ns ; 359.416 ns) | @@@@@@@@@
[359.416 ns ; 373.617 ns) | @@
---------------------------------------------------
Algorithms.WithStringBuilderForInt: DefaultJob [ByteArrayInput=Array[8]]
Runtime = .NET Core 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), X64 RyuJIT; GC = Concurrent Workstation
Mean = 325.3817 ns, StdErr = 1.8649 ns (0.57%); N = 44, StdDev = 12.3702 ns
Min = 310.4130 ns, Q1 = 313.0793 ns, Median = 320.1694 ns, Q3 = 337.1997 ns, Max = 346.8790 ns
IQR = 24.1204 ns, LowerFence = 276.8986 ns, UpperFence = 373.3804 ns
ConfidenceInterval = [318.7957 ns; 331.9678 ns] (CI 99.9%), Margin = 6.5860 ns (2.02% of Mean)
Skewness = 0.24, Kurtosis = 1.35, MValue = 3.48
-------------------- Histogram --------------------
[310.012 ns ; 323.151 ns) | @@@@@@@@@@@@@@@@@@@@@@@
[323.151 ns ; 334.536 ns) | @@@@@
[334.536 ns ; 347.805 ns) | @@@@@@@@@@@@@@@@
---------------------------------------------------
Algorithms.WithBitConverter: DefaultJob [ByteArrayInput=Array[8]]
Runtime = .NET Core 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), X64 RyuJIT; GC = Concurrent Workstation
Mean = 213.5605 ns, StdErr = 1.1859 ns (0.56%); N = 36, StdDev = 7.1152 ns
Min = 201.9546 ns, Q1 = 207.9626 ns, Median = 214.7167 ns, Q3 = 218.5175 ns, Max = 228.7719 ns
IQR = 10.5549 ns, LowerFence = 192.1303 ns, UpperFence = 234.3499 ns
ConfidenceInterval = [209.3019 ns; 217.8191 ns] (CI 99.9%), Margin = 4.2586 ns (1.99% of Mean)
Skewness = -0.03, Kurtosis = 2.07, MValue = 2
-------------------- Histogram --------------------
[201.925 ns ; 208.353 ns) | @@@@@@@@@
[208.353 ns ; 216.964 ns) | @@@@@@@@@@@@@
[216.964 ns ; 224.344 ns) | @@@@@@@@@@@@
[224.344 ns ; 229.793 ns) | @@
---------------------------------------------------
Algorithms.WithCharArray: DefaultJob [ByteArrayInput=Array[8]]
Runtime = .NET Core 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), X64 RyuJIT; GC = Concurrent Workstation
Mean = 42.8824 ns, StdErr = 0.2598 ns (0.61%); N = 36, StdDev = 1.5590 ns
Min = 40.5027 ns, Q1 = 41.2185 ns, Median = 43.1511 ns, Q3 = 44.0373 ns, Max = 45.6787 ns
IQR = 2.8188 ns, LowerFence = 36.9903 ns, UpperFence = 48.2656 ns
ConfidenceInterval = [41.9493 ns; 43.8155 ns] (CI 99.9%), Margin = 0.9331 ns (2.18% of Mean)
Skewness = -0.03, Kurtosis = 1.63, MValue = 3.45
-------------------- Histogram --------------------
[40.090 ns ; 41.464 ns) | @@@@@@@@@@@
[41.464 ns ; 42.410 ns) | @@@
[42.410 ns ; 43.462 ns) | @@@@@@
[43.462 ns ; 44.503 ns) | @@@@@@@@@@@
[44.503 ns ; 45.736 ns) | @@@@@
---------------------------------------------------
Algorithms.WithBitShifts: DefaultJob [ByteArrayInput=Array[8]]
Runtime = .NET Core 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), X64 RyuJIT; GC = Concurrent Workstation
Mean = 39.0545 ns, StdErr = 0.2485 ns (0.64%); N = 55, StdDev = 1.8427 ns
Min = 35.9211 ns, Q1 = 37.3009 ns, Median = 39.3282 ns, Q3 = 40.4899 ns, Max = 43.5845 ns
IQR = 3.1889 ns, LowerFence = 32.5175 ns, UpperFence = 45.2733 ns
ConfidenceInterval = [38.1898 ns; 39.9191 ns] (CI 99.9%), Margin = 0.8647 ns (2.21% of Mean)
Skewness = -0.01, Kurtosis = 2.26, MValue = 2.57
-------------------- Histogram --------------------
[35.845 ns ; 36.693 ns) | @@@@@@@@@
[36.693 ns ; 37.550 ns) | @@@@@
[37.550 ns ; 38.624 ns) | @@@@@@@@@
[38.624 ns ; 39.772 ns) | @@@@@@@@@
[39.772 ns ; 40.620 ns) | @@@@@@@@@@@@@@
[40.620 ns ; 41.730 ns) | @@@@@
[41.730 ns ; 44.009 ns) | @@@@
---------------------------------------------------
Algorithms.WithLookupTable: DefaultJob [ByteArrayInput=Array[8]]
Runtime = .NET Core 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), X64 RyuJIT; GC = Concurrent Workstation
Mean = 126.5881 ns, StdErr = 0.7486 ns (0.59%); N = 58, StdDev = 5.7014 ns
Min = 116.4769 ns, Q1 = 120.1448 ns, Median = 128.5708 ns, Q3 = 130.7649 ns, Max = 135.9574 ns
IQR = 10.6201 ns, LowerFence = 104.2146 ns, UpperFence = 146.6951 ns
ConfidenceInterval = [123.9907 ns; 129.1855 ns] (CI 99.9%), Margin = 2.5974 ns (2.05% of Mean)
Skewness = -0.3, Kurtosis = 1.76, MValue = 2.96
-------------------- Histogram --------------------
[115.188 ns ; 117.789 ns) | @@@@
[117.789 ns ; 120.367 ns) | @@@@@@@@@@@
[120.367 ns ; 123.137 ns) | @@
[123.137 ns ; 125.715 ns) | @@@@@@@
[125.715 ns ; 128.585 ns) | @@@@@
[128.585 ns ; 133.429 ns) | @@@@@@@@@@@@@@@@@@@@@@@
[133.429 ns ; 136.404 ns) | @@@@@@
---------------------------------------------------
Algorithms.WithLookupArray: DefaultJob [ByteArrayInput=Array[8]]
Runtime = .NET Core 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), X64 RyuJIT; GC = Concurrent Workstation
Mean = 34.5252 ns, StdErr = 0.2197 ns (0.64%); N = 50, StdDev = 1.5536 ns
Min = 32.5697 ns, Q1 = 32.9874 ns, Median = 34.5621 ns, Q3 = 35.6911 ns, Max = 37.8929 ns
IQR = 2.7036 ns, LowerFence = 28.9319 ns, UpperFence = 39.7465 ns
ConfidenceInterval = [33.7561 ns; 35.2943 ns] (CI 99.9%), Margin = 0.7691 ns (2.23% of Mean)
Skewness = 0.33, Kurtosis = 1.9, MValue = 2.56
-------------------- Histogram --------------------
[32.539 ns ; 33.277 ns) | @@@@@@@@@@@@@@@@@@
[33.277 ns ; 34.156 ns) | @@@@
[34.156 ns ; 34.989 ns) | @@@@@@@
[34.989 ns ; 35.727 ns) | @@@@@@@@@
[35.727 ns ; 36.629 ns) | @@@@@@@@@
[36.629 ns ; 37.948 ns) | @@@
---------------------------------------------------
Algorithms.WithDoubleLookupArray: DefaultJob [ByteArrayInput=Array[8]]
Runtime = .NET Core 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), X64 RyuJIT; GC = Concurrent Workstation
Mean = 34.9113 ns, StdErr = 0.2249 ns (0.64%); N = 50, StdDev = 1.5905 ns
Min = 33.1809 ns, Q1 = 33.4180 ns, Median = 34.4918 ns, Q3 = 36.2587 ns, Max = 38.6034 ns
IQR = 2.8407 ns, LowerFence = 29.1569 ns, UpperFence = 40.5198 ns
ConfidenceInterval = [34.1239 ns; 35.6986 ns] (CI 99.9%), Margin = 0.7874 ns (2.26% of Mean)
Skewness = 0.58, Kurtosis = 2.07, MValue = 2.67
-------------------- Histogram --------------------
[33.098 ns ; 33.853 ns) | @@@@@@@@@@@@@@@@@@@@@
[33.853 ns ; 34.648 ns) | @@@@@
[34.648 ns ; 35.523 ns) | @@@@@@@
[35.523 ns ; 36.880 ns) | @@@@@@@@@@@@
[36.880 ns ; 37.712 ns) | @@@
[37.712 ns ; 38.981 ns) | @@
---------------------------------------------------
// * Summary *
BenchmarkDotNet=v0.12.0, OS=Windows 10.0.18363
Intel Core i7-5820K CPU 3.30GHz (Broadwell), 1 CPU, 12 logical and 6 physical cores
.NET Core SDK=3.0.100
[Host] : .NET Core 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), X64 RyuJIT
DefaultJob : .NET Core 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), X64 RyuJIT
| Method | ByteArrayInput | Mean | Error | StdDev | Median |
|------------------------ |--------------- |----------:|----------:|----------:|----------:|
| WithStringJoin | Array[8] | 507.21 ns | 10.152 ns | 22.070 ns | 512.49 ns |
| WithStringBuilder | Array[8] | 337.10 ns | 7.336 ns | 14.135 ns | 338.94 ns |
| WithStringBuilderForInt | Array[8] | 325.38 ns | 6.586 ns | 12.370 ns | 320.17 ns |
| WithBitConverter | Array[8] | 213.56 ns | 4.259 ns | 7.115 ns | 214.72 ns |
| WithCharArray | Array[8] | 42.88 ns | 0.933 ns | 1.559 ns | 43.15 ns |
| WithBitShifts | Array[8] | 39.05 ns | 0.865 ns | 1.843 ns | 39.33 ns |
| WithLookupTable | Array[8] | 126.59 ns | 2.597 ns | 5.701 ns | 128.57 ns |
| WithLookupArray | Array[8] | 34.53 ns | 0.769 ns | 1.554 ns | 34.56 ns |
| WithDoubleLookupArray | Array[8] | 34.91 ns | 0.787 ns | 1.590 ns | 34.49 ns |
// * Warnings *
MultimodalDistribution
Algorithms.WithStringJoin: Default -> It seems that the distribution can have several modes (mValue = 2.86)
Algorithms.WithStringBuilderForInt: Default -> It seems that the distribution is bimodal (mValue = 3.48)
Algorithms.WithCharArray: Default -> It seems that the distribution is bimodal (mValue = 3.45)
Algorithms.WithLookupTable: Default -> It seems that the distribution can have several modes (mValue = 2.96)
// * Hints *
Outliers
Algorithms.WithStringBuilder: Default -> 1 outlier was removed (385.94 ns)
Algorithms.WithBitConverter: Default -> 1 outlier was removed (411.55 ns)
// * Legends *
ByteArrayInput : Value of the 'ByteArrayInput' parameter
Mean : Arithmetic mean of all measurements
Error : Half of 99.9% confidence interval
StdDev : Standard deviation of all measurements
Median : Value separating the higher half of all measurements (50th percentile)
1 ns : 1 Nanosecond (0.000000001 sec)
// ***** BenchmarkRunner: End *****
// ** Remained 0 benchmark(s) to run **
Run time: 00:06:09 (369.66 sec), executed benchmarks: 9
Global total time: 00:06:14 (374.45 sec), executed benchmarks: 9
// * Artifacts cleanup *
using BenchmarkDotNet.Running;
namespace HexBenchmark
{
class Program
{
static void Main(string[] args)
{
BenchmarkRunner.Run<Algorithms>();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment