Skip to content

Instantly share code, notes, and snippets.

@mattwarren
Last active March 28, 2022 09:27
Show Gist options
  • Star 10 You must be signed in to star a gist
  • Fork 5 You must be signed in to fork a gist
  • Save mattwarren/a8ae31a197f4716a9d65947f4a20a069 to your computer and use it in GitHub Desktop.
Save mattwarren/a8ae31a197f4716a9d65947f4a20a069 to your computer and use it in GitHub Desktop.
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Running;
using System;
using System.Reflection;
using BenchmarkDotNet.Diagnostics.Windows;
using FastMember;
using Sigil;
namespace ReflectionBenchmarks
{
[Config(typeof(Config))]
public class Program
{
private class Config : ManualConfig
{
public Config()
{
Add(new MemoryDiagnoser());
}
}
private static BindingFlags bindingFlags = BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public;
private static string propertyName = "Host";
private static TestUri testUri;
private static Object @object;
private static Type @class;
private static PropertyInfo property;
private static FastProperty fastProperty;
private static TypeAccessor accessor; // FastMember
private static Func<TestUri, string> getter;
private static Action<TestUri, string> setter;
public static Func<TestUri, string> getDelegate;
public static Action<TestUri, string> setDelegate;
public static Delegate getDelegateDynamic, setDelegateDynamic;
//private static bool allowNonPublicFieldAccess = false;
private static bool allowNonPublicFieldAccess = true;
static Program()
{
testUri = new TestUri("SomeHost");
@object = testUri;
@class = testUri.GetType();
property = @class.GetProperty(propertyName, bindingFlags);
fastProperty = new FastProperty(property, createGet: true, createSet: true, nonPublic: allowNonPublicFieldAccess);
// Using FastMember - https://github.com/mgravell/fast-member
accessor = TypeAccessor.Create(@class, allowNonPublicAccessors: allowNonPublicFieldAccess);
var funcType = Type.GetType("System.Func`2[ReflectionBenchmarks.Program+TestUri, System.String]");
getDelegate = (Func<TestUri, string>)Delegate.CreateDelegate(funcType, property.GetGetMethod(nonPublic: allowNonPublicFieldAccess));
getDelegateDynamic = Delegate.CreateDelegate(funcType, property.GetGetMethod(nonPublic: allowNonPublicFieldAccess));
var actionType = Type.GetType("System.Action`2[ReflectionBenchmarks.Program+TestUri, System.String]");
setDelegate = (Action<TestUri, string>)Delegate.CreateDelegate(actionType, property.GetSetMethod(nonPublic: allowNonPublicFieldAccess));
setDelegateDynamic = Delegate.CreateDelegate(actionType, property.GetSetMethod(nonPublic: allowNonPublicFieldAccess));
var setterEmiter = Emit<Action<TestUri, string>>
.NewDynamicMethod("SetTestUriProperty")
.LoadArgument(0)
.LoadArgument(1)
.Call(property.GetSetMethod(nonPublic: allowNonPublicFieldAccess))
.Return();
setter = setterEmiter.CreateDelegate();
var getterEmiter = Emit<Func<TestUri, string>>
.NewDynamicMethod("GetTestUriProperty")
.LoadArgument(0)
.Call(property.GetGetMethod(nonPublic: allowNonPublicFieldAccess))
.Return();
getter = getterEmiter.CreateDelegate();
}
static void Main(string[] args)
{
var summary = BenchmarkRunner.Run<Program>();
}
[Benchmark(Baseline = true)]
public string GetViaProperty()
{
return testUri.PublicHost;
}
[Benchmark]
public string GetViaDelegate()
{
return getDelegate(testUri);
}
[Benchmark]
public string GetViaILEmit()
{
return getter(testUri);
}
[Benchmark]
public string GetViaCompiledExpressionTrees()
{
return (string)fastProperty.Get(testUri);
}
[Benchmark]
public string GetViaFastMember()
{
return (string)accessor[testUri, "PublicHost"];
}
[Benchmark]
public string GetViaReflectionWithCaching()
{
return (string)property.GetValue(testUri, null);
}
[Benchmark]
public string GetViaReflection()
{
Type @class = testUri.GetType();
PropertyInfo property = @class.GetProperty(propertyName, bindingFlags);
return (string)property.GetValue(testUri, null);
}
[Benchmark]
public string GetViaDelegateDynamicInvoke()
{
return (string)getDelegateDynamic.DynamicInvoke(testUri);
}
[Benchmark]
public void SetViaProperty()
{
testUri.PublicHost = "Testing";
}
[Benchmark]
public void SetViaDelegate()
{
setDelegate(testUri, "Testing");
}
[Benchmark]
public void SetViaILEmit()
{
setter(testUri, "Testing");
}
[Benchmark]
public void SetViaCompiledExpressionTrees()
{
fastProperty.Set(testUri, "Testing");
}
[Benchmark]
public void SetViaFastMember()
{
accessor[testUri, "PublicHost"] = "Testing";
}
[Benchmark]
public void SetViaReflectionWithCaching()
{
property.SetValue(testUri, "Testing", null);
}
[Benchmark]
public void SetViaReflection()
{
Type @class = testUri.GetType();
PropertyInfo property = @class.GetProperty(propertyName, bindingFlags);
property.SetValue(testUri, "Testing", null);
}
[Benchmark]
public void SetViaDelegateDynamicInvoke()
{
setDelegateDynamic.DynamicInvoke(testUri, "Testing");
}
public class TestUri
{
public TestUri(Uri uri)
{
Host = uri.Host;
}
public TestUri(string host)
{
Host = host;
}
private string host;
private string Host
{
get { return host; }
set { host = value; }
}
public string PublicHost
{
get { return host; }
set { host = value; }
}
}
}
}
@mattwarren
Copy link
Author

Results:

BenchmarkDotNet=v0.10.0
OS=Microsoft Windows NT 6.1.7601 Service Pack 1
Processor=Intel(R) Core(TM) i7-4800MQ CPU 2.70GHz, ProcessorCount=8
Frequency=2630673 Hz, Resolution=380.1309 ns, Timer=TSC
Host Runtime=Clr 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
GC=Concurrent Workstation
JitModules=clrjit-v4.6.1590.0
Job Runtime(s):
	Clr 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]

Method Mean StdErr StdDev Median Scaled Scaled-StdDev Gen 0 Bytes Allocated/Op
GetViaProperty 0.2159 ns 0.0047 ns 0.0183 ns 0.2143 ns 1.00 0.00 - 0.00
GetViaDelegate 1.8903 ns 0.0082 ns 0.0306 ns 1.8830 ns 8.82 0.74 - 0.00
GetViaILEmit 2.9236 ns 0.0067 ns 0.0261 ns 2.9189 ns 13.64 1.12 - 0.00
GetViaCompiledExpressionTrees 12.3623 ns 0.0200 ns 0.0776 ns 12.3536 ns 57.65 4.74 - 0.00
GetViaFastMember 35.9199 ns 0.0528 ns 0.1976 ns 35.8827 ns 167.52 13.77 - 0.00
GetViaReflectionWithCaching 125.3878 ns 0.2017 ns 0.6987 ns 125.4703 ns 584.78 48.06 - 0.00
GetViaReflection 197.9258 ns 0.2704 ns 1.0473 ns 197.6979 ns 923.08 75.85 - 0.01
GetViaDelegateDynamicInvoke 842.9131 ns 1.2649 ns 4.8991 ns 842.7109 ns 3,931.17 323.14 440.00 419.04
Method Mean StdErr StdDev Median Scaled Scaled-StdDev Gen 0 Bytes Allocated/Op
SetViaProperty 1.4043 ns 0.0200 ns 0.0776 ns 1.3699 ns 6.55 0.64 - 0.00
SetViaDelegate 2.8215 ns 0.0078 ns 0.0302 ns 2.8184 ns 13.16 1.09 - 0.00
SetViaILEmit 2.8226 ns 0.0061 ns 0.0227 ns 2.8216 ns 13.16 1.08 - 0.00
SetViaCompiledExpressionTrees 10.7329 ns 0.0221 ns 0.0827 ns 10.7111 ns 50.06 4.12 - 0.00
SetViaFastMember 36.6210 ns 0.0393 ns 0.1523 ns 36.6633 ns 170.79 14.02 - 0.00
SetViaReflectionWithCaching 214.4321 ns 0.3122 ns 1.2092 ns 214.3265 ns 1,000.07 82.19 104.00 98.49
SetViaReflection 287.1039 ns 0.3288 ns 1.1855 ns 287.2946 ns 1,338.99 109.94 122.20 115.63
SetViaDelegateDynamicInvoke 922.4618 ns 2.9192 ns 10.5253 ns 921.0714 ns 4,302.17 355.96 403.87 390.99

@mattwarren
Copy link
Author

reflection benchmark results

@mattwarren
Copy link
Author

Full Log


// ***** BenchmarkRunner: Start *****
// Found benchmarks:
// Program.GetViaProperty: DefaultJob
// Program.GetViaDelegate: DefaultJob
// Program.GetViaILEmit: DefaultJob
// Program.GetViaCompiledExpressionTrees: DefaultJob
// Program.GetViaFastMember: DefaultJob
// Program.GetViaReflectionWithCaching: DefaultJob
// Program.GetViaReflection: DefaultJob
// Program.GetViaDelegateDynamicInvoke: DefaultJob
// Program.SetViaProperty: DefaultJob
// Program.SetViaDelegate: DefaultJob
// Program.SetViaILEmit: DefaultJob
// Program.SetViaCompiledExpressionTrees: DefaultJob
// Program.SetViaFastMember: DefaultJob
// Program.SetViaReflectionWithCaching: DefaultJob
// Program.SetViaReflection: DefaultJob
// Program.SetViaDelegateDynamicInvoke: DefaultJob

// Validating benchmarks:
// **************************
// Benchmark: Program.GetViaProperty: DefaultJob
// *** Generate ***
// Result = Success
// BinariesDirectoryPath = C:\Users\warma11\Documents\Visual Studio 2013\Projects\ReflectionBenchmarks\ReflectionBenchmarks\bin\Release

// *** Build ***
BuildScript: C:\Users\warma11\Documents\Visual Studio 2013\Projects\ReflectionBenchmarks\ReflectionBenchmarks\bin\Release\BDN.Generated.bat
// Result = Success

// *** Execute ***
// Launch: 1 / 1

// Benchmark Process Environment Information:
// Runtime=Clr 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
// GC=Concurrent Workstation
// Job: DefaultJob

Pilot 1: 16 op, 132285.54 ns, 8.2678 us/op
Pilot 2: 32 op, 1520.52 ns, 47.5164 ns/op
Pilot 3: 64 op, 760.26 ns, 11.8791 ns/op
Pilot 4: 128 op, 380.13 ns, 2.9698 ns/op
Pilot 5: 256 op, 1140.39 ns, 4.4547 ns/op
Pilot 6: 512 op, 1900.65 ns, 3.7122 ns/op
Pilot 7: 1024 op, 3801.31 ns, 3.7122 ns/op
Pilot 8: 2048 op, 7222.49 ns, 3.5266 ns/op
Pilot 9: 4096 op, 14064.84 ns, 3.4338 ns/op
Pilot 10: 8192 op, 26989.29 ns, 3.2946 ns/op
Pilot 11: 16384 op, 53978.58 ns, 3.2946 ns/op
Pilot 12: 32768 op, 109857.82 ns, 3.3526 ns/op
Pilot 13: 65536 op, 218575.25 ns, 3.3352 ns/op
Pilot 14: 131072 op, 445513.37 ns, 3.3990 ns/op
Pilot 15: 262144 op, 987960.12 ns, 3.7688 ns/op
Pilot 16: 524288 op, 1750882.76 ns, 3.3395 ns/op
Pilot 17: 1048576 op, 3884937.43 ns, 3.7050 ns/op
Pilot 18: 2097152 op, 7051807.66 ns, 3.3626 ns/op
Pilot 19: 4194304 op, 14503512.98 ns, 3.4579 ns/op
Pilot 20: 8388608 op, 29534647.6 ns, 3.5208 ns/op
Pilot 21: 16777216 op, 54695889.61 ns, 3.2601 ns/op
Pilot 22: 33554432 op, 109898873.79 ns, 3.2752 ns/op
Pilot 23: 67108864 op, 229386928.74 ns, 3.4181 ns/op

IdleWarmup 1: 67108864 op, 224745150.77 ns, 3.3490 ns/op
IdleWarmup 2: 67108864 op, 203813244.75 ns, 3.0371 ns/op
IdleWarmup 3: 67108864 op, 216708424.04 ns, 3.2292 ns/op
IdleWarmup 4: 67108864 op, 206685513.55 ns, 3.0799 ns/op
IdleWarmup 5: 67108864 op, 206067040.64 ns, 3.0706 ns/op
IdleWarmup 6: 67108864 op, 206644459.42 ns, 3.0792 ns/op
IdleWarmup 7: 67108864 op, 205429561.18 ns, 3.0611 ns/op

IdleTarget 1: 67108864 op, 208069950.16 ns, 3.1005 ns/op
IdleTarget 2: 67108864 op, 207836169.68 ns, 3.0970 ns/op
IdleTarget 3: 67108864 op, 206418281.56 ns, 3.0759 ns/op
IdleTarget 4: 67108864 op, 206718965.07 ns, 3.0804 ns/op
IdleTarget 5: 67108864 op, 208456543.25 ns, 3.1062 ns/op
IdleTarget 6: 67108864 op, 206865315.45 ns, 3.0825 ns/op
IdleTarget 7: 67108864 op, 208152818.69 ns, 3.1017 ns/op
IdleTarget 8: 67108864 op, 208043341 ns, 3.1001 ns/op
IdleTarget 9: 67108864 op, 207734294.61 ns, 3.0955 ns/op
IdleTarget 10: 67108864 op, 209707173.79 ns, 3.1249 ns/op
IdleTarget 11: 67108864 op, 208560699.11 ns, 3.1078 ns/op
IdleTarget 12: 67108864 op, 207700462.96 ns, 3.0950 ns/op
IdleTarget 13: 67108864 op, 204286127.54 ns, 3.0441 ns/op
IdleTarget 14: 67108864 op, 212114162.42 ns, 3.1607 ns/op
IdleTarget 15: 67108864 op, 207432470.7 ns, 3.0910 ns/op

MainWarmup 1: 67108864 op, 224705617.16 ns, 3.3484 ns/op
MainWarmup 2: 67108864 op, 223690667.75 ns, 3.3333 ns/op
MainWarmup 3: 67108864 op, 221358184.77 ns, 3.2985 ns/op
MainWarmup 4: 67108864 op, 223329543.43 ns, 3.3279 ns/op
MainWarmup 5: 67108864 op, 224413676.65 ns, 3.3440 ns/op
MainWarmup 6: 67108864 op, 221709045.56 ns, 3.3037 ns/op
MainWarmup 7: 67108864 op, 222725135.36 ns, 3.3189 ns/op
MainWarmup 8: 67108864 op, 223900499.99 ns, 3.3364 ns/op
MainWarmup 9: 67108864 op, 225622492.8 ns, 3.3620 ns/op
MainWarmup 10: 67108864 op, 224407594.56 ns, 3.3439 ns/op

MainTarget 1: 67108864 op, 221647084.23 ns, 3.3028 ns/op
MainTarget 2: 67108864 op, 223602477.39 ns, 3.3319 ns/op
MainTarget 3: 67108864 op, 223039503.58 ns, 3.3235 ns/op
MainTarget 4: 67108864 op, 221693840.32 ns, 3.3035 ns/op
MainTarget 5: 67108864 op, 222526326.91 ns, 3.3159 ns/op
MainTarget 6: 67108864 op, 221478306.12 ns, 3.3003 ns/op
MainTarget 7: 67108864 op, 222255673.74 ns, 3.3119 ns/op
MainTarget 8: 67108864 op, 224286712.94 ns, 3.3421 ns/op
MainTarget 9: 67108864 op, 221154054.49 ns, 3.2955 ns/op
MainTarget 10: 67108864 op, 223837398.26 ns, 3.3354 ns/op
MainTarget 11: 67108864 op, 220593361.47 ns, 3.2871 ns/op
MainTarget 12: 67108864 op, 224034686.18 ns, 3.3384 ns/op
MainTarget 13: 67108864 op, 222926604.71 ns, 3.3219 ns/op
MainTarget 14: 67108864 op, 221819663.64 ns, 3.3054 ns/op
MainTarget 15: 67108864 op, 220497188.36 ns, 3.2857 ns/op

Result 1: 67108864 op, 13773965.83 ns, 0.2052 ns/op
Result 2: 67108864 op, 15729358.99 ns, 0.2344 ns/op
Result 3: 67108864 op, 15166385.18 ns, 0.2260 ns/op
Result 4: 67108864 op, 13820721.92 ns, 0.2059 ns/op
Result 5: 67108864 op, 14653208.51 ns, 0.2183 ns/op
Result 6: 67108864 op, 13605187.72 ns, 0.2027 ns/op
Result 7: 67108864 op, 14382555.34 ns, 0.2143 ns/op
Result 8: 67108864 op, 16413594.54 ns, 0.2446 ns/op
Result 9: 67108864 op, 13280936.1 ns, 0.1979 ns/op
Result 10: 67108864 op, 15964279.86 ns, 0.2379 ns/op
Result 11: 67108864 op, 12720243.07 ns, 0.1895 ns/op
Result 12: 67108864 op, 16161567.78 ns, 0.2408 ns/op
Result 13: 67108864 op, 15053486.31 ns, 0.2243 ns/op
Result 14: 67108864 op, 13946545.24 ns, 0.2078 ns/op
Result 15: 67108864 op, 12624069.96 ns, 0.1881 ns/op

// Run, Diagnostic
// BeforeAnythingElse

// Benchmark Process Environment Information:
// Runtime=Clr 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
// GC=Concurrent Workstation
// Job: DefaultJob

// AfterSetup
// BeforeCleanup
Result 1: 67108864 op, 17522639.01 ns, 0.2611 ns/op
Result 2: 67108864 op, 15401508.79 ns, 0.2295 ns/op
Result 3: 67108864 op, 12966770.61 ns, 0.1932 ns/op
Result 4: 67108864 op, 15254018.01 ns, 0.2273 ns/op
Result 5: 67108864 op, 15223227.41 ns, 0.2268 ns/op
Result 6: 67108864 op, 16679128.62 ns, 0.2485 ns/op
Result 7: 67108864 op, 19394403.38 ns, 0.2890 ns/op
Result 8: 67108864 op, 38393724.09 ns, 0.5721 ns/op
Result 9: 67108864 op, 39886497.99 ns, 0.5944 ns/op
Result 10: 67108864 op, 23592188.51 ns, 0.3516 ns/op
Result 11: 67108864 op, 30474837.93 ns, 0.4541 ns/op
Result 12: 67108864 op, 25841422.83 ns, 0.3851 ns/op
Result 13: 67108864 op, 15566485.58 ns, 0.2320 ns/op
Result 14: 67108864 op, 16704217.26 ns, 0.2489 ns/op
Result 15: 67108864 op, 21577114.8 ns, 0.3215 ns/op

Mean = 0.2159 ns, StdErr = 0.0047 ns (2.19%); N = 15, StdDev = 0.0183 ns
Min = 0.1881 ns, Q1 = 0.2027 ns, Median = 0.2143 ns, Q3 = 0.2344 ns, Max = 0.2446 ns
IQR = 0.0317 ns, LowerFence = 0.1553 ns, UpperFence = 0.2819 ns
ConfidenceInterval = [0.2066 ns; 0.2251 ns] (CI 95%)
Skewness = 0.0822716186839445, Kurtosis = 1.58476956154739

// **************************
// Benchmark: Program.GetViaDelegate: DefaultJob
// *** Generate ***
// Result = Success
// BinariesDirectoryPath = C:\Users\warma11\Documents\Visual Studio 2013\Projects\ReflectionBenchmarks\ReflectionBenchmarks\bin\Release

// *** Build ***
BuildScript: C:\Users\warma11\Documents\Visual Studio 2013\Projects\ReflectionBenchmarks\ReflectionBenchmarks\bin\Release\BDN.Generated.bat
// Result = Success

// *** Execute ***
// Launch: 1 / 1

// Benchmark Process Environment Information:
// Runtime=Clr 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
// GC=Concurrent Workstation
// Job: DefaultJob

Pilot 1: 16 op, 145209.99 ns, 9.0756 us/op
Pilot 2: 32 op, 1900.65 ns, 59.3954 ns/op
Pilot 3: 64 op, 1140.39 ns, 17.8186 ns/op
Pilot 4: 128 op, 1140.39 ns, 8.9093 ns/op
Pilot 5: 256 op, 1900.65 ns, 7.4244 ns/op
Pilot 6: 512 op, 3041.05 ns, 5.9395 ns/op
Pilot 7: 1024 op, 5701.96 ns, 5.5683 ns/op
Pilot 8: 2048 op, 10643.66 ns, 5.1971 ns/op
Pilot 9: 4096 op, 20907.2 ns, 5.1043 ns/op
Pilot 10: 8192 op, 46375.97 ns, 5.6611 ns/op
Pilot 11: 16384 op, 89710.88 ns, 5.4755 ns/op
Pilot 12: 32768 op, 176380.72 ns, 5.3827 ns/op
Pilot 13: 65536 op, 330333.72 ns, 5.0405 ns/op
Pilot 14: 131072 op, 663708.49 ns, 5.0637 ns/op
Pilot 15: 262144 op, 1330838.15 ns, 5.0767 ns/op
Pilot 16: 524288 op, 2632786.36 ns, 5.0216 ns/op
Pilot 17: 1048576 op, 5315369.87 ns, 5.0691 ns/op
Pilot 18: 2097152 op, 10487810.53 ns, 5.0010 ns/op
Pilot 19: 4194304 op, 20860821.55 ns, 4.9736 ns/op
Pilot 20: 8388608 op, 42751797.73 ns, 5.0964 ns/op
Pilot 21: 16777216 op, 84639558.01 ns, 5.0449 ns/op
Pilot 22: 33554432 op, 170661271.85 ns, 5.0861 ns/op
Pilot 23: 67108864 op, 340661116 ns, 5.0762 ns/op

IdleWarmup 1: 67108864 op, 214362256.35 ns, 3.1942 ns/op
IdleWarmup 2: 67108864 op, 215169654.31 ns, 3.2063 ns/op
IdleWarmup 3: 67108864 op, 234538842.34 ns, 3.4949 ns/op
IdleWarmup 4: 67108864 op, 209845921.56 ns, 3.1269 ns/op
IdleWarmup 5: 67108864 op, 214407491.92 ns, 3.1949 ns/op
IdleWarmup 6: 67108864 op, 216769244.98 ns, 3.2301 ns/op
IdleWarmup 7: 67108864 op, 216165217.04 ns, 3.2211 ns/op

IdleTarget 1: 67108864 op, 215547884.51 ns, 3.2119 ns/op
IdleTarget 2: 67108864 op, 213545735.25 ns, 3.1821 ns/op
IdleTarget 3: 67108864 op, 214820314.04 ns, 3.2011 ns/op
IdleTarget 4: 67108864 op, 213837295.63 ns, 3.1864 ns/op
IdleTarget 5: 67108864 op, 213509622.82 ns, 3.1815 ns/op
IdleTarget 6: 67108864 op, 210748732.36 ns, 3.1404 ns/op
IdleTarget 7: 67108864 op, 213890133.82 ns, 3.1872 ns/op
IdleTarget 8: 67108864 op, 211828304.01 ns, 3.1565 ns/op
IdleTarget 9: 67108864 op, 214242135 ns, 3.1925 ns/op
IdleTarget 10: 67108864 op, 212936005.35 ns, 3.1730 ns/op
IdleTarget 11: 67108864 op, 214250117.75 ns, 3.1926 ns/op
IdleTarget 12: 67108864 op, 212985422.36 ns, 3.1737 ns/op
IdleTarget 13: 67108864 op, 210831600.89 ns, 3.1416 ns/op
IdleTarget 14: 67108864 op, 211159273.69 ns, 3.1465 ns/op
IdleTarget 15: 67108864 op, 211277874.52 ns, 3.1483 ns/op

MainWarmup 1: 67108864 op, 338742595.53 ns, 5.0477 ns/op
MainWarmup 2: 67108864 op, 339373612.76 ns, 5.0571 ns/op
MainWarmup 3: 67108864 op, 338433929.26 ns, 5.0431 ns/op
MainWarmup 4: 67108864 op, 341151484.81 ns, 5.0836 ns/op
MainWarmup 5: 67108864 op, 339069888.2 ns, 5.0525 ns/op
MainWarmup 6: 67108864 op, 337237657.44 ns, 5.0252 ns/op

MainTarget 1: 67108864 op, 342156170.68 ns, 5.0985 ns/op
MainTarget 2: 67108864 op, 338435069.66 ns, 5.0431 ns/op
MainTarget 3: 67108864 op, 341549861.96 ns, 5.0895 ns/op
MainTarget 4: 67108864 op, 352285137.68 ns, 5.2495 ns/op
MainTarget 5: 67108864 op, 344382977.28 ns, 5.1317 ns/op
MainTarget 6: 67108864 op, 339293785.28 ns, 5.0559 ns/op
MainTarget 7: 67108864 op, 337631092.88 ns, 5.0311 ns/op
MainTarget 8: 67108864 op, 338143889.42 ns, 5.0387 ns/op
MainTarget 9: 67108864 op, 342084706.08 ns, 5.0975 ns/op
MainTarget 10: 67108864 op, 338142368.89 ns, 5.0387 ns/op
MainTarget 11: 67108864 op, 339664032.74 ns, 5.0614 ns/op
MainTarget 12: 67108864 op, 337467636.61 ns, 5.0287 ns/op
MainTarget 13: 67108864 op, 338921637.16 ns, 5.0503 ns/op
MainTarget 14: 67108864 op, 340974343.83 ns, 5.0809 ns/op
MainTarget 15: 67108864 op, 339496395.03 ns, 5.0589 ns/op

Result 1: 67108864 op, 129128807.22 ns, 1.9242 ns/op
Result 2: 67108864 op, 125407706.19 ns, 1.8687 ns/op
Result 3: 67108864 op, 128522498.49 ns, 1.9151 ns/op
Result 4: 67108864 op, 131355613.82 ns, 1.9574 ns/op
Result 5: 67108864 op, 126266421.81 ns, 1.8815 ns/op
Result 6: 67108864 op, 124603729.41 ns, 1.8567 ns/op
Result 7: 67108864 op, 125116525.95 ns, 1.8644 ns/op
Result 8: 67108864 op, 129057342.61 ns, 1.9231 ns/op
Result 9: 67108864 op, 125115005.43 ns, 1.8644 ns/op
Result 10: 67108864 op, 126636669.27 ns, 1.8870 ns/op
Result 11: 67108864 op, 124440273.14 ns, 1.8543 ns/op
Result 12: 67108864 op, 125894273.7 ns, 1.8760 ns/op
Result 13: 67108864 op, 127946980.36 ns, 1.9066 ns/op
Result 14: 67108864 op, 126469031.56 ns, 1.8845 ns/op

// Run, Diagnostic
// BeforeAnythingElse

// Benchmark Process Environment Information:
// Runtime=Clr 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
// GC=Concurrent Workstation
// Job: DefaultJob

// AfterSetup
// BeforeCleanup
Result 1: 67108864 op, 126935629.53 ns, 1.8915 ns/op
Result 2: 67108864 op, 123808292.91 ns, 1.8449 ns/op
Result 3: 67108864 op, 123172333.97 ns, 1.8354 ns/op
Result 4: 67108864 op, 127283449.27 ns, 1.8967 ns/op
Result 5: 67108864 op, 125510899.05 ns, 1.8703 ns/op
Result 6: 67108864 op, 127032943.03 ns, 1.8929 ns/op
Result 7: 67108864 op, 126387100.69 ns, 1.8833 ns/op
Result 8: 67108864 op, 125487711.07 ns, 1.8699 ns/op
Result 9: 67108864 op, 125134949.62 ns, 1.8647 ns/op
Result 10: 67108864 op, 126752026.32 ns, 1.8888 ns/op
Result 11: 67108864 op, 126619360.65 ns, 1.8868 ns/op
Result 12: 67108864 op, 127395587.87 ns, 1.8983 ns/op
Result 13: 67108864 op, 125371391.02 ns, 1.8682 ns/op
Result 14: 67108864 op, 123311081.74 ns, 1.8375 ns/op
Result 15: 67108864 op, 126438798.49 ns, 1.8841 ns/op

Mean = 1.8903 ns, StdErr = 0.0082 ns (0.43%); N = 14, StdDev = 0.0306 ns
Min = 1.8543 ns, Q1 = 1.8644 ns, Median = 1.8830 ns, Q3 = 1.9151 ns, Max = 1.9574 ns
IQR = 0.0508 ns, LowerFence = 1.7883 ns, UpperFence = 1.9913 ns
ConfidenceInterval = [1.8743 ns; 1.9063 ns] (CI 95%)
Skewness = 0.656397794530896, Kurtosis = 2.22736913301094

// **************************
// Benchmark: Program.GetViaILEmit: DefaultJob
// *** Generate ***
// Result = Success
// BinariesDirectoryPath = C:\Users\warma11\Documents\Visual Studio 2013\Projects\ReflectionBenchmarks\ReflectionBenchmarks\bin\Release

// *** Build ***
BuildScript: C:\Users\warma11\Documents\Visual Studio 2013\Projects\ReflectionBenchmarks\ReflectionBenchmarks\bin\Release\BDN.Generated.bat
// Result = Success

// *** Execute ***
// Launch: 1 / 1

// Benchmark Process Environment Information:
// Runtime=Clr 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
// GC=Concurrent Workstation
// Job: DefaultJob

Pilot 1: 16 op, 127343.84 ns, 7.9590 us/op
Pilot 2: 32 op, 1900.65 ns, 59.3954 ns/op
Pilot 3: 64 op, 1140.39 ns, 17.8186 ns/op
Pilot 4: 128 op, 1520.52 ns, 11.8791 ns/op
Pilot 5: 256 op, 2660.92 ns, 10.3942 ns/op
Pilot 6: 512 op, 4181.44 ns, 8.1669 ns/op
Pilot 7: 1024 op, 7602.62 ns, 7.4244 ns/op
Pilot 8: 2048 op, 13304.58 ns, 6.4964 ns/op
Pilot 9: 4096 op, 25848.9 ns, 6.3108 ns/op
Pilot 10: 8192 op, 53218.32 ns, 6.4964 ns/op
Pilot 11: 16384 op, 102635.33 ns, 6.2644 ns/op
Pilot 12: 32768 op, 209832.24 ns, 6.4036 ns/op
Pilot 13: 65536 op, 409781.07 ns, 6.2528 ns/op
Pilot 14: 131072 op, 810439 ns, 6.1832 ns/op
Pilot 15: 262144 op, 1620878 ns, 6.1832 ns/op
Pilot 16: 524288 op, 3219708.42 ns, 6.1411 ns/op
Pilot 17: 1048576 op, 6424971.86 ns, 6.1273 ns/op
Pilot 18: 2097152 op, 12786461.87 ns, 6.0971 ns/op
Pilot 19: 4194304 op, 25611316.95 ns, 6.1062 ns/op
Pilot 20: 8388608 op, 51991638.64 ns, 6.1979 ns/op
Pilot 21: 16777216 op, 102965286.83 ns, 6.1372 ns/op
Pilot 22: 33554432 op, 206648260.73 ns, 6.1586 ns/op

IdleWarmup 1: 33554432 op, 107311703.13 ns, 3.1981 ns/op
IdleWarmup 2: 33554432 op, 106933472.92 ns, 3.1869 ns/op
IdleWarmup 3: 33554432 op, 108171939.27 ns, 3.2238 ns/op
IdleWarmup 4: 33554432 op, 105788898.89 ns, 3.1528 ns/op
IdleWarmup 5: 33554432 op, 107153188.56 ns, 3.1934 ns/op
IdleWarmup 6: 33554432 op, 106872651.98 ns, 3.1851 ns/op

IdleTarget 1: 33554432 op, 107116315.86 ns, 3.1923 ns/op
IdleTarget 2: 33554432 op, 106570067.81 ns, 3.1760 ns/op
IdleTarget 3: 33554432 op, 105783196.92 ns, 3.1526 ns/op
IdleTarget 4: 33554432 op, 107811575.21 ns, 3.2130 ns/op
IdleTarget 5: 33554432 op, 106364036.88 ns, 3.1699 ns/op
IdleTarget 6: 33554432 op, 108325512.14 ns, 3.2284 ns/op
IdleTarget 7: 33554432 op, 106410032.72 ns, 3.1713 ns/op
IdleTarget 8: 33554432 op, 125029222.56 ns, 3.7262 ns/op
IdleTarget 9: 33554432 op, 108231619.82 ns, 3.2256 ns/op
IdleTarget 10: 33554432 op, 108111878.6 ns, 3.2220 ns/op
IdleTarget 11: 33554432 op, 107323487.18 ns, 3.1985 ns/op
IdleTarget 12: 33554432 op, 106157625.82 ns, 3.1637 ns/op
IdleTarget 13: 33554432 op, 107965528.21 ns, 3.2176 ns/op
IdleTarget 14: 33554432 op, 105955396.2 ns, 3.1577 ns/op
IdleTarget 15: 33554432 op, 106933472.92 ns, 3.1869 ns/op

MainWarmup 1: 33554432 op, 207432470.7 ns, 6.1820 ns/op
MainWarmup 2: 33554432 op, 205951100.73 ns, 6.1378 ns/op
MainWarmup 3: 33554432 op, 206044993.05 ns, 6.1406 ns/op
MainWarmup 4: 33554432 op, 207795115.55 ns, 6.1928 ns/op
MainWarmup 5: 33554432 op, 205645475.51 ns, 6.1287 ns/op
MainWarmup 6: 33554432 op, 204838077.56 ns, 6.1047 ns/op
MainWarmup 7: 33554432 op, 208234926.96 ns, 6.2059 ns/op
MainWarmup 8: 33554432 op, 207325273.8 ns, 6.1788 ns/op

MainTarget 1: 33554432 op, 206464657.52 ns, 6.1531 ns/op
MainTarget 2: 33554432 op, 206070461.82 ns, 6.1414 ns/op
MainTarget 3: 33554432 op, 206938300.58 ns, 6.1672 ns/op
MainTarget 4: 33554432 op, 207062223.24 ns, 6.1709 ns/op
MainTarget 5: 33554432 op, 206682092.38 ns, 6.1596 ns/op
MainTarget 6: 33554432 op, 205604041.25 ns, 6.1275 ns/op
MainTarget 7: 33554432 op, 205548162.01 ns, 6.1258 ns/op
MainTarget 8: 33554432 op, 206051455.27 ns, 6.1408 ns/op
MainTarget 9: 33554432 op, 208733278.52 ns, 6.2207 ns/op
MainTarget 10: 33554432 op, 207155355.3 ns, 6.1737 ns/op
MainTarget 11: 33554432 op, 206404216.72 ns, 6.1513 ns/op
MainTarget 12: 33554432 op, 205586555.23 ns, 6.1270 ns/op
MainTarget 13: 33554432 op, 206214151.28 ns, 6.1457 ns/op
MainTarget 14: 33554432 op, 205764836.6 ns, 6.1323 ns/op
MainTarget 15: 33554432 op, 205307159.04 ns, 6.1186 ns/op

Result 1: 33554432 op, 98192059.6 ns, 2.9264 ns/op
Result 2: 33554432 op, 97797863.89 ns, 2.9146 ns/op
Result 3: 33554432 op, 98665702.65 ns, 2.9405 ns/op
Result 4: 33554432 op, 98789625.32 ns, 2.9442 ns/op
Result 5: 33554432 op, 98409494.45 ns, 2.9328 ns/op
Result 6: 33554432 op, 97331443.32 ns, 2.9007 ns/op
Result 7: 33554432 op, 97275564.09 ns, 2.8990 ns/op
Result 8: 33554432 op, 97778857.35 ns, 2.9140 ns/op
Result 9: 33554432 op, 100460680.59 ns, 2.9940 ns/op
Result 10: 33554432 op, 98882757.38 ns, 2.9469 ns/op
Result 11: 33554432 op, 98131618.79 ns, 2.9246 ns/op
Result 12: 33554432 op, 97313957.3 ns, 2.9002 ns/op
Result 13: 33554432 op, 97941553.36 ns, 2.9189 ns/op
Result 14: 33554432 op, 97492238.68 ns, 2.9055 ns/op
Result 15: 33554432 op, 97034561.12 ns, 2.8919 ns/op

// Run, Diagnostic
// BeforeAnythingElse

// Benchmark Process Environment Information:
// Runtime=Clr 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
// GC=Concurrent Workstation
// Job: DefaultJob

// AfterSetup
// BeforeCleanup
Result 1: 33554432 op, 99157718.7 ns, 2.9551 ns/op
Result 2: 33554432 op, 98163296.36 ns, 2.9255 ns/op
Result 3: 33554432 op, 99339801.39 ns, 2.9606 ns/op
Result 4: 33554432 op, 99550774.02 ns, 2.9668 ns/op
Result 5: 33554432 op, 100076114.87 ns, 2.9825 ns/op
Result 6: 33554432 op, 98398977.5 ns, 2.9325 ns/op
Result 7: 33554432 op, 100078775.79 ns, 2.9826 ns/op
Result 8: 33554432 op, 99715370.68 ns, 2.9717 ns/op
Result 9: 33554432 op, 100586630.62 ns, 2.9977 ns/op
Result 10: 33554432 op, 99496795.43 ns, 2.9652 ns/op
Result 11: 33554432 op, 99899354.02 ns, 2.9772 ns/op
Result 12: 33554432 op, 99893652.06 ns, 2.9771 ns/op
Result 13: 33554432 op, 100513265.36 ns, 2.9955 ns/op
Result 14: 33554432 op, 100500340.91 ns, 2.9951 ns/op

Mean = 2.9236 ns, StdErr = 0.0067 ns (0.23%); N = 15, StdDev = 0.0261 ns
Min = 2.8919 ns, Q1 = 2.9007 ns, Median = 2.9189 ns, Q3 = 2.9405 ns, Max = 2.9940 ns
IQR = 0.0398 ns, LowerFence = 2.8411 ns, UpperFence = 3.0001 ns
ConfidenceInterval = [2.9104 ns; 2.9368 ns] (CI 95%)
Skewness = 1.11574065027581, Kurtosis = 3.92847709517242

// **************************
// Benchmark: Program.GetViaCompiledExpressionTrees: DefaultJob
// *** Generate ***
// Result = Success
// BinariesDirectoryPath = C:\Users\warma11\Documents\Visual Studio 2013\Projects\ReflectionBenchmarks\ReflectionBenchmarks\bin\Release

// *** Build ***
BuildScript: C:\Users\warma11\Documents\Visual Studio 2013\Projects\ReflectionBenchmarks\ReflectionBenchmarks\bin\Release\BDN.Generated.bat
// Result = Success

// *** Execute ***
// Launch: 1 / 1

// Benchmark Process Environment Information:
// Runtime=Clr 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
// GC=Concurrent Workstation
// Job: DefaultJob

Pilot 1: 16 op, 132285.54 ns, 8.2678 us/op
Pilot 2: 32 op, 1900.65 ns, 59.3954 ns/op
Pilot 3: 64 op, 1520.52 ns, 23.7582 ns/op
Pilot 4: 128 op, 2660.92 ns, 20.7884 ns/op
Pilot 5: 256 op, 4941.7 ns, 19.3035 ns/op
Pilot 6: 512 op, 8362.88 ns, 16.3337 ns/op
Pilot 7: 1024 op, 16725.76 ns, 16.3337 ns/op
Pilot 8: 2048 op, 32691.25 ns, 15.9625 ns/op
Pilot 9: 4096 op, 65382.51 ns, 15.9625 ns/op
Pilot 10: 8192 op, 128104.1 ns, 15.6377 ns/op
Pilot 11: 16384 op, 252787.02 ns, 15.4289 ns/op
Pilot 12: 32768 op, 502533 ns, 15.3361 ns/op
Pilot 13: 65536 op, 1008867.31 ns, 15.3941 ns/op
Pilot 14: 131072 op, 2013553.19 ns, 15.3622 ns/op
Pilot 15: 262144 op, 4185240.81 ns, 15.9654 ns/op
Pilot 16: 524288 op, 8128718.39 ns, 15.5043 ns/op
Pilot 17: 1048576 op, 16008451.07 ns, 15.2668 ns/op
Pilot 18: 2097152 op, 32061757.58 ns, 15.2882 ns/op
Pilot 19: 4194304 op, 64833599.62 ns, 15.4575 ns/op
Pilot 20: 8388608 op, 129020216.5 ns, 15.3804 ns/op
Pilot 21: 16777216 op, 257048671.58 ns, 15.3213 ns/op

IdleWarmup 1: 16777216 op, 51103272.81 ns, 3.0460 ns/op
IdleWarmup 2: 16777216 op, 52644323.33 ns, 3.1378 ns/op
IdleWarmup 3: 16777216 op, 51348837.35 ns, 3.0606 ns/op
IdleWarmup 4: 16777216 op, 51322228.19 ns, 3.0590 ns/op
IdleWarmup 5: 16777216 op, 51927396.53 ns, 3.0951 ns/op
IdleWarmup 6: 16777216 op, 52578560.7 ns, 3.1339 ns/op
IdleWarmup 7: 16777216 op, 51703879.58 ns, 3.0818 ns/op

IdleTarget 1: 16777216 op, 51763179.99 ns, 3.0853 ns/op
IdleTarget 2: 16777216 op, 51643438.77 ns, 3.0782 ns/op
IdleTarget 3: 16777216 op, 51452993.21 ns, 3.0668 ns/op
IdleTarget 4: 16777216 op, 52018627.93 ns, 3.1006 ns/op
IdleTarget 5: 16777216 op, 51919033.65 ns, 3.0946 ns/op
IdleTarget 6: 16777216 op, 51273191.31 ns, 3.0561 ns/op
IdleTarget 7: 16777216 op, 51516094.93 ns, 3.0706 ns/op
IdleTarget 8: 16777216 op, 51260266.86 ns, 3.0553 ns/op
IdleTarget 9: 16777216 op, 52132287.06 ns, 3.1073 ns/op
IdleTarget 10: 16777216 op, 51403196.06 ns, 3.0639 ns/op
IdleTarget 11: 16777216 op, 51876839.12 ns, 3.0921 ns/op
IdleTarget 12: 16777216 op, 51070201.43 ns, 3.0440 ns/op
IdleTarget 13: 16777216 op, 51218452.46 ns, 3.0529 ns/op
IdleTarget 14: 16777216 op, 51626713.01 ns, 3.0772 ns/op
IdleTarget 15: 16777216 op, 51911431.03 ns, 3.0942 ns/op

MainWarmup 1: 16777216 op, 259416126.6 ns, 15.4624 ns/op
MainWarmup 2: 16777216 op, 259385716.13 ns, 15.4606 ns/op
MainWarmup 3: 16777216 op, 257802851.21 ns, 15.3662 ns/op
MainWarmup 4: 16777216 op, 257543601.96 ns, 15.3508 ns/op
MainWarmup 5: 16777216 op, 258795753.03 ns, 15.4254 ns/op
MainWarmup 6: 16777216 op, 259315391.92 ns, 15.4564 ns/op
MainWarmup 7: 16777216 op, 258594283.67 ns, 15.4134 ns/op
MainWarmup 8: 16777216 op, 259162579.31 ns, 15.4473 ns/op
MainWarmup 9: 16777216 op, 258176139.72 ns, 15.3885 ns/op

MainTarget 1: 16777216 op, 260496458.51 ns, 15.5268 ns/op
MainTarget 2: 16777216 op, 259178924.94 ns, 15.4483 ns/op
MainTarget 3: 16777216 op, 259537388.34 ns, 15.4696 ns/op
MainTarget 4: 16777216 op, 258865316.97 ns, 15.4296 ns/op
MainTarget 5: 16777216 op, 259756723.85 ns, 15.4827 ns/op
MainTarget 6: 16777216 op, 258381410.38 ns, 15.4007 ns/op
MainTarget 7: 16777216 op, 257485822.07 ns, 15.3474 ns/op
MainTarget 8: 16777216 op, 258121781 ns, 15.3853 ns/op
MainTarget 9: 16777216 op, 258629635.84 ns, 15.4155 ns/op
MainTarget 10: 16777216 op, 256346189.74 ns, 15.2794 ns/op
MainTarget 11: 16777216 op, 258833385.98 ns, 15.4277 ns/op
MainTarget 12: 16777216 op, 261860748.18 ns, 15.6081 ns/op
MainTarget 13: 16777216 op, 259744559.66 ns, 15.4820 ns/op
MainTarget 14: 16777216 op, 259716810.11 ns, 15.4803 ns/op
MainTarget 15: 16777216 op, 258194005.87 ns, 15.3896 ns/op

Result 1: 16777216 op, 208890728.72 ns, 12.4509 ns/op
Result 2: 16777216 op, 207573195.15 ns, 12.3723 ns/op
Result 3: 16777216 op, 207931658.55 ns, 12.3937 ns/op
Result 4: 16777216 op, 207259587.19 ns, 12.3536 ns/op
Result 5: 16777216 op, 208150994.06 ns, 12.4068 ns/op
Result 6: 16777216 op, 206775680.6 ns, 12.3248 ns/op
Result 7: 16777216 op, 205880092.28 ns, 12.2714 ns/op
Result 8: 16777216 op, 206516051.22 ns, 12.3093 ns/op
Result 9: 16777216 op, 207023906.05 ns, 12.3396 ns/op
Result 10: 16777216 op, 204740459.95 ns, 12.2035 ns/op
Result 11: 16777216 op, 207227656.19 ns, 12.3517 ns/op
Result 12: 16777216 op, 210255018.39 ns, 12.5322 ns/op
Result 13: 16777216 op, 208138829.87 ns, 12.4060 ns/op
Result 14: 16777216 op, 208111080.32 ns, 12.4044 ns/op
Result 15: 16777216 op, 206588276.08 ns, 12.3136 ns/op

// Run, Diagnostic
// BeforeAnythingElse

// Benchmark Process Environment Information:
// Runtime=Clr 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
// GC=Concurrent Workstation
// Job: DefaultJob

// AfterSetup
// BeforeCleanup
Result 1: 16777216 op, 208305225.82 ns, 12.4160 ns/op
Result 2: 16777216 op, 207481862.37 ns, 12.3669 ns/op
Result 3: 16777216 op, 206302316.3 ns, 12.2966 ns/op
Result 4: 16777216 op, 207685612.52 ns, 12.3790 ns/op
Result 5: 16777216 op, 210189534.52 ns, 12.5283 ns/op
Result 6: 16777216 op, 204521783.34 ns, 12.1904 ns/op
Result 7: 16777216 op, 206704874.89 ns, 12.3206 ns/op
Result 8: 16777216 op, 206471474.54 ns, 12.3067 ns/op
Result 9: 16777216 op, 207058396.59 ns, 12.3416 ns/op
Result 10: 16777216 op, 207165593.49 ns, 12.3480 ns/op
Result 11: 16777216 op, 205315116.45 ns, 12.2377 ns/op
Result 12: 16777216 op, 204173583.46 ns, 12.1697 ns/op
Result 13: 16777216 op, 203834886.86 ns, 12.1495 ns/op
Result 14: 16777216 op, 209439536.32 ns, 12.4836 ns/op

Mean = 12.3623 ns, StdErr = 0.0200 ns (0.16%); N = 15, StdDev = 0.0776 ns
Min = 12.2035 ns, Q1 = 12.3136 ns, Median = 12.3536 ns, Q3 = 12.4060 ns, Max = 12.5322 ns
IQR = 0.0924 ns, LowerFence = 12.1750 ns, UpperFence = 12.5447 ns
ConfidenceInterval = [12.3230 ns; 12.4015 ns] (CI 95%)
Skewness = 0.114194886903508, Kurtosis = 2.99606838545199

// **************************
// Benchmark: Program.GetViaFastMember: DefaultJob
// *** Generate ***
// Result = Success
// BinariesDirectoryPath = C:\Users\warma11\Documents\Visual Studio 2013\Projects\ReflectionBenchmarks\ReflectionBenchmarks\bin\Release

// *** Build ***
BuildScript: C:\Users\warma11\Documents\Visual Studio 2013\Projects\ReflectionBenchmarks\ReflectionBenchmarks\bin\Release\BDN.Generated.bat
// Result = Success

// *** Execute ***
// Launch: 1 / 1

// Benchmark Process Environment Information:
// Runtime=Clr 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
// GC=Concurrent Workstation
// Job: DefaultJob

Pilot 1: 16 op, 144829.86 ns, 9.0519 us/op
Pilot 2: 32 op, 3421.18 ns, 106.9118 ns/op
Pilot 3: 64 op, 4181.44 ns, 65.3350 ns/op
Pilot 4: 128 op, 5321.83 ns, 41.5768 ns/op
Pilot 5: 256 op, 13304.58 ns, 51.9710 ns/op
Pilot 6: 512 op, 23568.11 ns, 46.0315 ns/op
Pilot 7: 1024 op, 40293.87 ns, 39.3495 ns/op
Pilot 8: 2048 op, 78687.09 ns, 38.4214 ns/op
Pilot 9: 4096 op, 157374.18 ns, 38.4214 ns/op
Pilot 10: 8192 op, 315888.75 ns, 38.5606 ns/op
Pilot 11: 16384 op, 625695.4 ns, 38.1894 ns/op
Pilot 12: 32768 op, 1262414.6 ns, 38.5258 ns/op
Pilot 13: 65536 op, 2509243.83 ns, 38.2880 ns/op
Pilot 14: 131072 op, 5014306.23 ns, 38.2561 ns/op
Pilot 15: 262144 op, 10482108.57 ns, 39.9861 ns/op
Pilot 16: 524288 op, 20170503.9 ns, 38.4722 ns/op
Pilot 17: 1048576 op, 40196558.07 ns, 38.3344 ns/op
Pilot 18: 2097152 op, 80487388.59 ns, 38.3794 ns/op
Pilot 19: 4194304 op, 163304599.24 ns, 38.9349 ns/op
Pilot 20: 8388608 op, 322313339.59 ns, 38.4227 ns/op

IdleWarmup 1: 8388608 op, 26051508.49 ns, 3.1056 ns/op
IdleWarmup 2: 8388608 op, 26093703.02 ns, 3.1106 ns/op
IdleWarmup 3: 8388608 op, 25857641.75 ns, 3.0825 ns/op
IdleWarmup 4: 8388608 op, 26244614.97 ns, 3.1286 ns/op
IdleWarmup 5: 8388608 op, 26115370.48 ns, 3.1132 ns/op
IdleWarmup 6: 8388608 op, 26032501.95 ns, 3.1033 ns/op

IdleTarget 1: 8388608 op, 25936328.84 ns, 3.0919 ns/op
IdleTarget 2: 8388608 op, 26071655.43 ns, 3.1080 ns/op
IdleTarget 3: 8388608 op, 26216865.42 ns, 3.1253 ns/op
IdleTarget 4: 8388608 op, 25724976.08 ns, 3.0667 ns/op
IdleTarget 5: 8388608 op, 26509946.31 ns, 3.1602 ns/op
IdleTarget 6: 8388608 op, 26268183.08 ns, 3.1314 ns/op
IdleTarget 7: 8388608 op, 25893754.18 ns, 3.0868 ns/op
IdleTarget 8: 8388608 op, 25667956.45 ns, 3.0599 ns/op
IdleTarget 9: 8388608 op, 25951153.94 ns, 3.0936 ns/op
IdleTarget 10: 8388608 op, 25804803.56 ns, 3.0762 ns/op
IdleTarget 11: 8388608 op, 26211543.59 ns, 3.1247 ns/op
IdleTarget 12: 8388608 op, 25934808.32 ns, 3.0917 ns/op
IdleTarget 13: 8388608 op, 25691524.56 ns, 3.0627 ns/op
IdleTarget 14: 8388608 op, 26000951.09 ns, 3.0996 ns/op
IdleTarget 15: 8388608 op, 25968639.96 ns, 3.0957 ns/op

MainWarmup 1: 8388608 op, 324117440.67 ns, 38.6378 ns/op
MainWarmup 2: 8388608 op, 343549350.3 ns, 40.9543 ns/op
MainWarmup 3: 8388608 op, 325875545.92 ns, 38.8474 ns/op
MainWarmup 4: 8388608 op, 325853878.46 ns, 38.8448 ns/op
MainWarmup 5: 8388608 op, 326948275.21 ns, 38.9753 ns/op
MainWarmup 6: 8388608 op, 326015434.07 ns, 38.8641 ns/op

MainTarget 1: 8388608 op, 329120342.97 ns, 39.2342 ns/op
MainTarget 2: 8388608 op, 326137456.08 ns, 38.8786 ns/op
MainTarget 3: 8388608 op, 338376529.5 ns, 40.3376 ns/op
MainTarget 4: 8388608 op, 325080692.28 ns, 38.7526 ns/op
MainTarget 5: 8388608 op, 329165958.67 ns, 39.2396 ns/op
MainTarget 6: 8388608 op, 326221465 ns, 38.8886 ns/op
MainTarget 7: 8388608 op, 327690670.79 ns, 39.0638 ns/op
MainTarget 8: 8388608 op, 326329422.17 ns, 38.9015 ns/op
MainTarget 9: 8388608 op, 325024052.78 ns, 38.7459 ns/op
MainTarget 10: 8388608 op, 329240844.45 ns, 39.2486 ns/op
MainTarget 11: 8388608 op, 330234886.66 ns, 39.3671 ns/op
MainTarget 12: 8388608 op, 328008840.32 ns, 39.1017 ns/op
MainTarget 13: 8388608 op, 326441560.77 ns, 38.9149 ns/op
MainTarget 14: 8388608 op, 326069792.79 ns, 38.8705 ns/op
MainTarget 15: 8388608 op, 327551162.76 ns, 39.0471 ns/op

Result 1: 8388608 op, 303130136.91 ns, 36.1359 ns/op
Result 2: 8388608 op, 300147250.03 ns, 35.7803 ns/op
Result 3: 8388608 op, 299090486.22 ns, 35.6544 ns/op
Result 4: 8388608 op, 303175752.62 ns, 36.1414 ns/op
Result 5: 8388608 op, 300231258.95 ns, 35.7904 ns/op
Result 6: 8388608 op, 301700464.74 ns, 35.9655 ns/op
Result 7: 8388608 op, 300339216.11 ns, 35.8032 ns/op
Result 8: 8388608 op, 299033846.73 ns, 35.6476 ns/op
Result 9: 8388608 op, 303250638.4 ns, 36.1503 ns/op
Result 10: 8388608 op, 304244680.61 ns, 36.2688 ns/op
Result 11: 8388608 op, 302018634.27 ns, 36.0034 ns/op
Result 12: 8388608 op, 300451354.72 ns, 35.8166 ns/op
Result 13: 8388608 op, 300079586.73 ns, 35.7723 ns/op
Result 14: 8388608 op, 301560956.71 ns, 35.9489 ns/op

// Run, Diagnostic
// BeforeAnythingElse

// Benchmark Process Environment Information:
// Runtime=Clr 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
// GC=Concurrent Workstation
// Job: DefaultJob

// AfterSetup
// BeforeCleanup
Result 1: 8388608 op, 300989670.7 ns, 35.8808 ns/op
Result 2: 8388608 op, 300747907.47 ns, 35.8519 ns/op
Result 3: 8388608 op, 300574187.67 ns, 35.8312 ns/op
Result 4: 8388608 op, 299956094.89 ns, 35.7576 ns/op
Result 5: 8388608 op, 301953682.57 ns, 35.9957 ns/op
Result 6: 8388608 op, 300619423.24 ns, 35.8366 ns/op
Result 7: 8388608 op, 301742709.95 ns, 35.9705 ns/op
Result 8: 8388608 op, 301115113.89 ns, 35.8957 ns/op
Result 9: 8388608 op, 299739800.42 ns, 35.7318 ns/op
Result 10: 8388608 op, 299354727.86 ns, 35.6859 ns/op
Result 11: 8388608 op, 301854848.55 ns, 35.9839 ns/op
Result 12: 8388608 op, 301271727.81 ns, 35.9144 ns/op

Mean = 35.9199 ns, StdErr = 0.0528 ns (0.15%); N = 14, StdDev = 0.1976 ns
Min = 35.6476 ns, Q1 = 35.7803 ns, Median = 35.8827 ns, Q3 = 36.1359 ns, Max = 36.2688 ns
IQR = 0.3556 ns, LowerFence = 35.2470 ns, UpperFence = 36.6693 ns
ConfidenceInterval = [35.8164 ns; 36.0234 ns] (CI 95%)
Skewness = 0.246374075878075, Kurtosis = 1.60225841198094

// **************************
// Benchmark: Program.GetViaReflectionWithCaching: DefaultJob
// *** Generate ***
// Result = Success
// BinariesDirectoryPath = C:\Users\warma11\Documents\Visual Studio 2013\Projects\ReflectionBenchmarks\ReflectionBenchmarks\bin\Release

// *** Build ***
BuildScript: C:\Users\warma11\Documents\Visual Studio 2013\Projects\ReflectionBenchmarks\ReflectionBenchmarks\bin\Release\BDN.Generated.bat
// Result = Success

// *** Execute ***
// Launch: 1 / 1

// Benchmark Process Environment Information:
// Runtime=Clr 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
// GC=Concurrent Workstation
// Job: DefaultJob

Pilot 1: 16 op, 135706.72 ns, 8.4817 us/op
Pilot 2: 32 op, 6842.36 ns, 213.8236 ns/op
Pilot 3: 64 op, 9883.4 ns, 154.4282 ns/op
Pilot 4: 128 op, 17105.89 ns, 133.6398 ns/op
Pilot 5: 256 op, 34211.78 ns, 133.6398 ns/op
Pilot 6: 512 op, 74505.65 ns, 145.5188 ns/op
Pilot 7: 1024 op, 131145.15 ns, 128.0714 ns/op
Pilot 8: 2048 op, 267612.13 ns, 130.6700 ns/op
Pilot 9: 4096 op, 544727.53 ns, 132.9901 ns/op
Pilot 10: 8192 op, 1038897.65 ns, 126.8186 ns/op
Pilot 11: 16384 op, 2085017.79 ns, 127.2594 ns/op
Pilot 12: 32768 op, 4258225.94 ns, 129.9507 ns/op
Pilot 13: 65536 op, 8277349.56 ns, 126.3023 ns/op
Pilot 14: 131072 op, 16697248.19 ns, 127.3899 ns/op
Pilot 15: 262144 op, 34185548.72 ns, 130.4075 ns/op
Pilot 16: 524288 op, 68479434.73 ns, 130.6142 ns/op
Pilot 17: 1048576 op, 134612321.64 ns, 128.3763 ns/op
Pilot 18: 2097152 op, 271761636.66 ns, 129.5860 ns/op

IdleWarmup 1: 2097152 op, 6903176.49 ns, 3.2917 ns/op
IdleWarmup 2: 2097152 op, 6453101.54 ns, 3.0771 ns/op
IdleWarmup 3: 2097152 op, 6513542.35 ns, 3.1059 ns/op
IdleWarmup 4: 2097152 op, 6597171.14 ns, 3.1458 ns/op
IdleWarmup 5: 2097152 op, 6429913.56 ns, 3.0660 ns/op
IdleWarmup 6: 2097152 op, 6445879.06 ns, 3.0736 ns/op
IdleWarmup 7: 2097152 op, 6435615.53 ns, 3.0687 ns/op

IdleTarget 1: 2097152 op, 6461084.29 ns, 3.0809 ns/op
IdleTarget 2: 2097152 op, 6431434.09 ns, 3.0667 ns/op
IdleTarget 3: 2097152 op, 6418129.51 ns, 3.0604 ns/op
IdleTarget 4: 2097152 op, 6481611.36 ns, 3.0907 ns/op
IdleTarget 5: 2097152 op, 6499477.51 ns, 3.0992 ns/op
IdleTarget 6: 2097152 op, 6480470.97 ns, 3.0901 ns/op
IdleTarget 7: 2097152 op, 6660653 ns, 3.1760 ns/op
IdleTarget 8: 2097152 op, 6450440.63 ns, 3.0758 ns/op
IdleTarget 9: 2097152 op, 6620739.26 ns, 3.1570 ns/op
IdleTarget 10: 2097152 op, 6437516.18 ns, 3.0696 ns/op
IdleTarget 11: 2097152 op, 6558777.92 ns, 3.1275 ns/op
IdleTarget 12: 2097152 op, 6432574.48 ns, 3.0673 ns/op
IdleTarget 13: 2097152 op, 6519624.45 ns, 3.1088 ns/op
IdleTarget 14: 2097152 op, 6335260.98 ns, 3.0209 ns/op
IdleTarget 15: 2097152 op, 6483512.01 ns, 3.0916 ns/op

MainWarmup 1: 2097152 op, 270259359.49 ns, 128.8697 ns/op
MainWarmup 2: 2097152 op, 269088176.3 ns, 128.3112 ns/op
MainWarmup 3: 2097152 op, 269878848.49 ns, 128.6883 ns/op
MainWarmup 4: 2097152 op, 268285720.04 ns, 127.9286 ns/op
MainWarmup 5: 2097152 op, 269293446.96 ns, 128.4091 ns/op
MainWarmup 6: 2097152 op, 269055104.91 ns, 128.2955 ns/op

MainTarget 1: 2097152 op, 268807639.72 ns, 128.1775 ns/op
MainTarget 2: 2097152 op, 267740992.51 ns, 127.6689 ns/op
MainTarget 3: 2097152 op, 270129734.86 ns, 128.8079 ns/op
MainTarget 4: 2097152 op, 270645192.31 ns, 129.0537 ns/op
MainTarget 5: 2097152 op, 270806367.8 ns, 129.1305 ns/op
MainTarget 6: 2097152 op, 267127461.3 ns, 127.3763 ns/op
MainTarget 7: 2097152 op, 268470083.51 ns, 128.0165 ns/op
MainTarget 8: 2097152 op, 267742513.04 ns, 127.6696 ns/op
MainTarget 9: 2097152 op, 269921803.28 ns, 128.7087 ns/op
MainTarget 10: 2097152 op, 271603882.35 ns, 129.5108 ns/op
MainTarget 11: 2097152 op, 269308272.07 ns, 128.4162 ns/op
MainTarget 12: 2097152 op, 271000614.67 ns, 129.2232 ns/op
MainTarget 13: 2097152 op, 346816194.94 ns, 165.3748 ns/op
MainTarget 14: 2097152 op, 293775395.12 ns, 140.0830 ns/op
MainTarget 15: 2097152 op, 280717139.68 ns, 133.8564 ns/op

Result 1: 2097152 op, 262322885.94 ns, 125.0853 ns/op
Result 2: 2097152 op, 261256238.74 ns, 124.5767 ns/op
Result 3: 2097152 op, 263644981.09 ns, 125.7157 ns/op
Result 4: 2097152 op, 264160438.54 ns, 125.9615 ns/op
Result 5: 2097152 op, 264321614.03 ns, 126.0384 ns/op
Result 6: 2097152 op, 260642707.53 ns, 124.2841 ns/op
Result 7: 2097152 op, 261985329.74 ns, 124.9243 ns/op
Result 8: 2097152 op, 261257759.26 ns, 124.5774 ns/op
Result 9: 2097152 op, 263437049.51 ns, 125.6166 ns/op
Result 10: 2097152 op, 265119128.58 ns, 126.4187 ns/op
Result 11: 2097152 op, 262823518.29 ns, 125.3240 ns/op
Result 12: 2097152 op, 264515860.9 ns, 126.1310 ns/op

// Run, Diagnostic
// BeforeAnythingElse

// Benchmark Process Environment Information:
// Runtime=Clr 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
// GC=Concurrent Workstation
// Job: DefaultJob

// AfterSetup
// BeforeCleanup
Result 1: 2097152 op, 260092911.59 ns, 124.0220 ns/op
Result 2: 2097152 op, 269809436.6 ns, 128.6552 ns/op
Result 3: 2097152 op, 311801352.73 ns, 148.6785 ns/op
Result 4: 2097152 op, 289707386.66 ns, 138.1432 ns/op
Result 5: 2097152 op, 322306269.16 ns, 153.6876 ns/op
Result 6: 2097152 op, 286875031.6 ns, 136.7927 ns/op
Result 7: 2097152 op, 269335033.28 ns, 128.4290 ns/op
Result 8: 2097152 op, 300317599.34 ns, 143.2026 ns/op
Result 9: 2097152 op, 325188041.24 ns, 155.0617 ns/op
Result 10: 2097152 op, 295427595.9 ns, 140.8709 ns/op
Result 11: 2097152 op, 296801768.98 ns, 141.5261 ns/op
Result 12: 2097152 op, 282950180.43 ns, 134.9212 ns/op
Result 13: 2097152 op, 262094300.58 ns, 124.9763 ns/op
Result 14: 2097152 op, 264315025.09 ns, 126.0352 ns/op
Result 15: 2097152 op, 287644796.6 ns, 137.1597 ns/op
Result 16: 2097152 op, 291100186.15 ns, 138.8074 ns/op
Result 17: 2097152 op, 272415233.67 ns, 129.8977 ns/op
Result 18: 2097152 op, 287364260.02 ns, 137.0260 ns/op
Result 19: 2097152 op, 263418296.38 ns, 125.6076 ns/op
Result 20: 2097152 op, 261926282.74 ns, 124.8962 ns/op
Result 21: 2097152 op, 264128000.71 ns, 125.9460 ns/op
Result 22: 2097152 op, 263398909.71 ns, 125.5984 ns/op
Result 23: 2097152 op, 261035256 ns, 124.4713 ns/op
Result 24: 2097152 op, 260687436.26 ns, 124.3055 ns/op
Result 25: 2097152 op, 262008391.01 ns, 124.9353 ns/op
Result 26: 2097152 op, 260635738.46 ns, 124.2808 ns/op
Result 27: 2097152 op, 262504841.92 ns, 125.1721 ns/op
Result 28: 2097152 op, 263147643.21 ns, 125.4786 ns/op
Result 29: 2097152 op, 263349112.57 ns, 125.5746 ns/op
Result 30: 2097152 op, 262731399.91 ns, 125.2801 ns/op
Result 31: 2097152 op, 261343922.26 ns, 124.6185 ns/op
Result 32: 2097152 op, 262189333.3 ns, 125.0216 ns/op
Result 33: 2097152 op, 262947694.37 ns, 125.3832 ns/op
Result 34: 2097152 op, 264317686.01 ns, 126.0365 ns/op
Result 35: 2097152 op, 262501040.61 ns, 125.1703 ns/op
Result 36: 2097152 op, 260994581.99 ns, 124.4519 ns/op
Result 37: 2097152 op, 261095696.8 ns, 124.5001 ns/op
Result 38: 2097152 op, 262685784.21 ns, 125.2583 ns/op
Result 39: 2097152 op, 261566678.94 ns, 124.7247 ns/op
Result 40: 2097152 op, 264809955.48 ns, 126.2712 ns/op
Result 41: 2097152 op, 260810978.79 ns, 124.3644 ns/op

Mean = 125.3878 ns, StdErr = 0.2017 ns (0.16%); N = 12, StdDev = 0.6987 ns
Min = 124.2841 ns, Q1 = 124.7509 ns, Median = 125.4703 ns, Q3 = 125.9999 ns, Max = 126.4187 ns
IQR = 1.2491 ns, LowerFence = 122.8773 ns, UpperFence = 127.8735 ns
ConfidenceInterval = [124.9925 ns; 125.7831 ns] (CI 95%)
Skewness = -0.127153746304967, Kurtosis = 1.446916651042

// **************************
// Benchmark: Program.GetViaReflection: DefaultJob
// *** Generate ***
// Result = Success
// BinariesDirectoryPath = C:\Users\warma11\Documents\Visual Studio 2013\Projects\ReflectionBenchmarks\ReflectionBenchmarks\bin\Release

// *** Build ***
BuildScript: C:\Users\warma11\Documents\Visual Studio 2013\Projects\ReflectionBenchmarks\ReflectionBenchmarks\bin\Release\BDN.Generated.bat
// Result = Success

// *** Execute ***
// Launch: 1 / 1

// Benchmark Process Environment Information:
// Runtime=Clr 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
// GC=Concurrent Workstation
// Job: DefaultJob

Pilot 1: 16 op, 135706.72 ns, 8.4817 us/op
Pilot 2: 32 op, 9883.4 ns, 308.8563 ns/op
Pilot 3: 64 op, 15205.23 ns, 237.5818 ns/op
Pilot 4: 128 op, 26989.29 ns, 210.8538 ns/op
Pilot 5: 256 op, 53598.45 ns, 209.3690 ns/op
Pilot 6: 512 op, 105296.25 ns, 205.6567 ns/op
Pilot 7: 1024 op, 210972.63 ns, 206.0280 ns/op
Pilot 8: 2048 op, 411301.59 ns, 200.8309 ns/op
Pilot 9: 4096 op, 818041.62 ns, 199.7172 ns/op
Pilot 10: 8192 op, 1631521.67 ns, 199.1604 ns/op
Pilot 11: 16384 op, 3260762.55 ns, 199.0212 ns/op
Pilot 12: 32768 op, 6491874.89 ns, 198.1163 ns/op
Pilot 13: 65536 op, 13328148.35 ns, 203.3714 ns/op
Pilot 14: 131072 op, 26743346.66 ns, 204.0355 ns/op
Pilot 15: 262144 op, 52772427.44 ns, 201.3108 ns/op
Pilot 16: 524288 op, 105610617.51 ns, 201.4363 ns/op
Pilot 17: 1048576 op, 212791555.62 ns, 202.9338 ns/op

IdleWarmup 1: 1048576 op, 3194619.78 ns, 3.0466 ns/op
IdleWarmup 2: 1048576 op, 3245177.18 ns, 3.0948 ns/op
IdleWarmup 3: 1048576 op, 3140641.2 ns, 2.9951 ns/op
IdleWarmup 4: 1048576 op, 3206783.97 ns, 3.0582 ns/op
IdleWarmup 5: 1048576 op, 3164589.44 ns, 3.0180 ns/op
IdleWarmup 6: 1048576 op, 3155466.3 ns, 3.0093 ns/op

IdleTarget 1: 1048576 op, 3230732.21 ns, 3.0811 ns/op
IdleTarget 2: 1048576 op, 3250499.02 ns, 3.0999 ns/op
IdleTarget 3: 1048576 op, 3177513.89 ns, 3.0303 ns/op
IdleTarget 4: 1048576 op, 3236814.31 ns, 3.0869 ns/op
IdleTarget 5: 1048576 op, 3215907.11 ns, 3.0669 ns/op
IdleTarget 6: 1048576 op, 3245937.45 ns, 3.0956 ns/op
IdleTarget 7: 1048576 op, 3212866.06 ns, 3.0640 ns/op
IdleTarget 8: 1048576 op, 3172192.06 ns, 3.0252 ns/op
IdleTarget 9: 1048576 op, 3184356.25 ns, 3.0368 ns/op
IdleTarget 10: 1048576 op, 3202982.66 ns, 3.0546 ns/op
IdleTarget 11: 1048576 op, 3190058.21 ns, 3.0423 ns/op
IdleTarget 12: 1048576 op, 3144822.64 ns, 2.9991 ns/op
IdleTarget 13: 1048576 op, 3127336.62 ns, 2.9825 ns/op
IdleTarget 14: 1048576 op, 3121634.65 ns, 2.9770 ns/op
IdleTarget 15: 1048576 op, 3171431.8 ns, 3.0245 ns/op

MainWarmup 1: 1048576 op, 211525719.84 ns, 201.7266 ns/op
MainWarmup 2: 1048576 op, 210809173.17 ns, 201.0433 ns/op
MainWarmup 3: 1048576 op, 211399896.53 ns, 201.6067 ns/op
MainWarmup 4: 1048576 op, 211165735.92 ns, 201.3833 ns/op
MainWarmup 5: 1048576 op, 210690952.47 ns, 200.9306 ns/op
MainWarmup 6: 1048576 op, 211459196.94 ns, 201.6632 ns/op
MainWarmup 7: 1048576 op, 212303467.59 ns, 202.4684 ns/op
MainWarmup 8: 1048576 op, 211514315.92 ns, 201.7158 ns/op

MainTarget 1: 1048576 op, 210493664.55 ns, 200.7424 ns/op
MainTarget 2: 1048576 op, 211837427.15 ns, 202.0239 ns/op
MainTarget 3: 1048576 op, 209935632.44 ns, 200.2102 ns/op
MainTarget 4: 1048576 op, 212197791.21 ns, 202.3676 ns/op
MainTarget 5: 1048576 op, 210427901.91 ns, 200.6797 ns/op
MainTarget 6: 1048576 op, 210313862.65 ns, 200.5709 ns/op
MainTarget 7: 1048576 op, 209094402.84 ns, 199.4080 ns/op
MainTarget 8: 1048576 op, 210072859.68 ns, 200.3411 ns/op
MainTarget 9: 1048576 op, 210383806.73 ns, 200.6376 ns/op
MainTarget 10: 1048576 op, 211713504.49 ns, 201.9057 ns/op
MainTarget 11: 1048576 op, 208765969.77 ns, 199.0947 ns/op
MainTarget 12: 1048576 op, 211337555.07 ns, 201.5472 ns/op
MainTarget 13: 1048576 op, 212739857.82 ns, 202.8845 ns/op
MainTarget 14: 1048576 op, 210650278.46 ns, 200.8918 ns/op
MainTarget 15: 1048576 op, 211023947.1 ns, 201.2481 ns/op

Result 1: 1048576 op, 207301325.55 ns, 197.6979 ns/op
Result 2: 1048576 op, 208645088.16 ns, 198.9795 ns/op
Result 3: 1048576 op, 206743293.45 ns, 197.1658 ns/op
Result 4: 1048576 op, 209005452.22 ns, 199.3231 ns/op
Result 5: 1048576 op, 207235562.91 ns, 197.6352 ns/op
Result 6: 1048576 op, 207121523.66 ns, 197.5265 ns/op
Result 7: 1048576 op, 205902063.84 ns, 196.3635 ns/op
Result 8: 1048576 op, 206880520.69 ns, 197.2966 ns/op
Result 9: 1048576 op, 207191467.73 ns, 197.5932 ns/op
Result 10: 1048576 op, 208521165.5 ns, 198.8613 ns/op
Result 11: 1048576 op, 205573630.78 ns, 196.0503 ns/op
Result 12: 1048576 op, 208145216.07 ns, 198.5027 ns/op
Result 13: 1048576 op, 209547518.83 ns, 199.8401 ns/op
Result 14: 1048576 op, 207457939.47 ns, 197.8473 ns/op
Result 15: 1048576 op, 207831608.11 ns, 198.2037 ns/op

// Run, Diagnostic
// BeforeAnythingElse

// Benchmark Process Environment Information:
// Runtime=Clr 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
// GC=Concurrent Workstation
// Job: DefaultJob

// AfterSetup
// BeforeCleanup
Result 1: 1048576 op, 208559254.61 ns, 198.8976 ns/op
Result 2: 1048576 op, 207236779.33 ns, 197.6364 ns/op
Result 3: 1048576 op, 207152010.15 ns, 197.5556 ns/op
Result 4: 1048576 op, 208009585.38 ns, 198.3734 ns/op
Result 5: 1048576 op, 207395293.9 ns, 197.7876 ns/op
Result 6: 1048576 op, 208284039.86 ns, 198.6351 ns/op
Result 7: 1048576 op, 207012121.99 ns, 197.4221 ns/op
Result 8: 1048576 op, 206579152.94 ns, 197.0092 ns/op
Result 9: 1048576 op, 206456370.67 ns, 196.8921 ns/op
Result 10: 1048576 op, 208095114.82 ns, 198.4550 ns/op
Result 11: 1048576 op, 207015923.3 ns, 197.4258 ns/op
Result 12: 1048576 op, 207584218.94 ns, 197.9677 ns/op
Result 13: 1048576 op, 206161389.12 ns, 196.6108 ns/op
Result 14: 1048576 op, 206764276.67 ns, 197.1858 ns/op

Mean = 197.9258 ns, StdErr = 0.2704 ns (0.14%); N = 15, StdDev = 1.0473 ns
Min = 196.0503 ns, Q1 = 197.2966 ns, Median = 197.6979 ns, Q3 = 198.8613 ns, Max = 199.8401 ns
IQR = 1.5646 ns, LowerFence = 194.9497 ns, UpperFence = 201.2082 ns
ConfidenceInterval = [197.3958 ns; 198.4558 ns] (CI 95%)
Skewness = 0.0412167074027315, Kurtosis = 2.11788638745093

// **************************
// Benchmark: Program.GetViaDelegateDynamicInvoke: DefaultJob
// *** Generate ***
// Result = Success
// BinariesDirectoryPath = C:\Users\warma11\Documents\Visual Studio 2013\Projects\ReflectionBenchmarks\ReflectionBenchmarks\bin\Release

// *** Build ***
BuildScript: C:\Users\warma11\Documents\Visual Studio 2013\Projects\ReflectionBenchmarks\ReflectionBenchmarks\bin\Release\BDN.Generated.bat
// Result = Success

// *** Execute ***
// Launch: 1 / 1

// Benchmark Process Environment Information:
// Runtime=Clr 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
// GC=Concurrent Workstation
// Job: DefaultJob

Pilot 1: 16 op, 157754.31 ns, 9.8596 us/op
Pilot 2: 32 op, 39533.61 ns, 1.2354 us/op
Pilot 3: 64 op, 63481.85 ns, 991.9040 ns/op
Pilot 4: 128 op, 118600.83 ns, 926.5690 ns/op
Pilot 5: 256 op, 228838.78 ns, 893.9015 ns/op
Pilot 6: 512 op, 438290.89 ns, 856.0369 ns/op
Pilot 7: 1024 op, 864417.58 ns, 844.1578 ns/op
Pilot 8: 2048 op, 1729975.56 ns, 844.7146 ns/op
Pilot 9: 4096 op, 3486180.15 ns, 851.1182 ns/op
Pilot 10: 8192 op, 7015695.22 ns, 856.4081 ns/op
Pilot 11: 16384 op, 14036712.28 ns, 856.7329 ns/op
Pilot 12: 32768 op, 27830901.07 ns, 849.3317 ns/op
Pilot 13: 65536 op, 54893937.79 ns, 837.6150 ns/op
Pilot 14: 131072 op, 110053206.92 ns, 839.6393 ns/op
Pilot 15: 262144 op, 220422682.71 ns, 840.8458 ns/op

IdleWarmup 1: 262144 op, 855674.57 ns, 3.2641 ns/op
IdleWarmup 2: 262144 op, 840849.47 ns, 3.2076 ns/op
IdleWarmup 3: 262144 op, 852633.53 ns, 3.2525 ns/op
IdleWarmup 4: 262144 op, 825264.11 ns, 3.1481 ns/op
IdleWarmup 5: 262144 op, 833246.85 ns, 3.1786 ns/op
IdleWarmup 6: 262144 op, 846931.56 ns, 3.2308 ns/op
IdleWarmup 7: 262144 op, 840849.47 ns, 3.2076 ns/op

IdleTarget 1: 262144 op, 849212.35 ns, 3.2395 ns/op
IdleTarget 2: 262144 op, 831346.2 ns, 3.1713 ns/op
IdleTarget 3: 262144 op, 836287.9 ns, 3.1902 ns/op
IdleTarget 4: 262144 op, 833246.85 ns, 3.1786 ns/op
IdleTarget 5: 262144 op, 825644.24 ns, 3.1496 ns/op
IdleTarget 6: 262144 op, 837808.42 ns, 3.1960 ns/op
IdleTarget 7: 262144 op, 830966.07 ns, 3.1699 ns/op
IdleTarget 8: 262144 op, 827925.02 ns, 3.1583 ns/op
IdleTarget 9: 262144 op, 823743.58 ns, 3.1423 ns/op
IdleTarget 10: 262144 op, 824123.71 ns, 3.1438 ns/op
IdleTarget 11: 262144 op, 822603.19 ns, 3.1380 ns/op
IdleTarget 12: 262144 op, 833246.85 ns, 3.1786 ns/op
IdleTarget 13: 262144 op, 836287.9 ns, 3.1902 ns/op
IdleTarget 14: 262144 op, 834007.12 ns, 3.1815 ns/op
IdleTarget 15: 262144 op, 822603.19 ns, 3.1380 ns/op

MainWarmup 1: 262144 op, 222160641.02 ns, 847.4756 ns/op
MainWarmup 2: 262144 op, 222039759.41 ns, 847.0145 ns/op
MainWarmup 3: 262144 op, 220568272.83 ns, 841.4012 ns/op
MainWarmup 4: 262144 op, 223415453 ns, 852.2623 ns/op
MainWarmup 5: 262144 op, 221871361.43 ns, 846.3721 ns/op
MainWarmup 6: 262144 op, 222280002.11 ns, 847.9309 ns/op
MainWarmup 7: 262144 op, 221290901.61 ns, 844.1578 ns/op

MainTarget 1: 262144 op, 223551159.72 ns, 852.7800 ns/op
MainTarget 2: 262144 op, 220949163.96 ns, 842.8542 ns/op
MainTarget 3: 262144 op, 221742877.2 ns, 845.8819 ns/op
MainTarget 4: 262144 op, 222110083.62 ns, 847.2827 ns/op
MainTarget 5: 262144 op, 219937635.73 ns, 838.9955 ns/op
MainTarget 6: 262144 op, 220454613.71 ns, 840.9676 ns/op
MainTarget 7: 262144 op, 222946751.65 ns, 850.4744 ns/op
MainTarget 8: 262144 op, 221271134.8 ns, 844.0824 ns/op
MainTarget 9: 262144 op, 223137197.21 ns, 851.2009 ns/op
MainTarget 10: 262144 op, 223285068.12 ns, 851.7649 ns/op
MainTarget 11: 262144 op, 220986796.91 ns, 842.9977 ns/op
MainTarget 12: 262144 op, 222053063.99 ns, 847.0652 ns/op
MainTarget 13: 262144 op, 219980590.52 ns, 839.1594 ns/op
MainTarget 14: 262144 op, 220876178.83 ns, 842.5758 ns/op
MainTarget 15: 262144 op, 223656075.84 ns, 853.1802 ns/op

Result 1: 262144 op, 222719889.55 ns, 849.6090 ns/op
Result 2: 262144 op, 220117893.79 ns, 839.6831 ns/op
Result 3: 262144 op, 220911607.03 ns, 842.7109 ns/op
Result 4: 262144 op, 221278813.44 ns, 844.1117 ns/op
Result 5: 262144 op, 219106365.56 ns, 835.8245 ns/op
Result 6: 262144 op, 219623343.53 ns, 837.7966 ns/op
Result 7: 262144 op, 222115481.48 ns, 847.3033 ns/op
Result 8: 262144 op, 220439864.63 ns, 840.9113 ns/op
Result 9: 262144 op, 222305927.04 ns, 848.0298 ns/op
Result 10: 262144 op, 222453797.94 ns, 848.5939 ns/op
Result 11: 262144 op, 220155526.74 ns, 839.8267 ns/op
Result 12: 262144 op, 221221793.81 ns, 843.8942 ns/op
Result 13: 262144 op, 219149320.35 ns, 835.9883 ns/op
Result 14: 262144 op, 220044908.66 ns, 839.4047 ns/op
Result 15: 262144 op, 222824805.67 ns, 850.0092 ns/op

// Run, Diagnostic
// BeforeAnythingElse

// Benchmark Process Environment Information:
// Runtime=Clr 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
// GC=Concurrent Workstation
// Job: DefaultJob

// AfterSetup
// BeforeCleanup
Result 1: 262144 op, 222408562.37 ns, 848.4213 ns/op
Result 2: 262144 op, 229509787.04 ns, 875.5104 ns/op
Result 3: 262144 op, 225545402.26 ns, 860.3874 ns/op
Result 4: 262144 op, 223338742.6 ns, 851.9697 ns/op
Result 5: 262144 op, 223408306.54 ns, 852.2351 ns/op
Result 6: 262144 op, 222648805.08 ns, 849.3378 ns/op
Result 7: 262144 op, 221032868.78 ns, 843.1735 ns/op
Result 8: 262144 op, 230335431.28 ns, 878.6599 ns/op
Result 9: 262144 op, 220626508.88 ns, 841.6233 ns/op
Result 10: 262144 op, 223907418.37 ns, 854.1390 ns/op
Result 11: 262144 op, 222009805.1 ns, 846.9002 ns/op
Result 12: 262144 op, 222235982.96 ns, 847.7630 ns/op
Result 13: 262144 op, 222572018.64 ns, 849.0449 ns/op

Mean = 842.9131 ns, StdErr = 1.2649 ns (0.15%); N = 15, StdDev = 4.8991 ns
Min = 835.8245 ns, Q1 = 839.4047 ns, Median = 842.7109 ns, Q3 = 848.0298 ns, Max = 850.0092 ns
IQR = 8.6251 ns, LowerFence = 826.4671 ns, UpperFence = 860.9675 ns
ConfidenceInterval = [840.4339 ns; 845.3924 ns] (CI 95%)
Skewness = 0.0711768336671896, Kurtosis = 1.44944166789611

// **************************
// Benchmark: Program.SetViaProperty: DefaultJob
// *** Generate ***
// Result = Success
// BinariesDirectoryPath = C:\Users\warma11\Documents\Visual Studio 2013\Projects\ReflectionBenchmarks\ReflectionBenchmarks\bin\Release

// *** Build ***
BuildScript: C:\Users\warma11\Documents\Visual Studio 2013\Projects\ReflectionBenchmarks\ReflectionBenchmarks\bin\Release\BDN.Generated.bat
// Result = Success

// *** Execute ***
// Launch: 1 / 1

// Benchmark Process Environment Information:
// Runtime=Clr 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
// GC=Concurrent Workstation
// Job: DefaultJob

Pilot 1: 16 op, 125443.19 ns, 7.8402 us/op
Pilot 2: 32 op, 1140.39 ns, 35.6373 ns/op
Pilot 3: 64 op, 760.26 ns, 11.8791 ns/op
Pilot 4: 128 op, 380.13 ns, 2.9698 ns/op
Pilot 5: 256 op, 1140.39 ns, 4.4547 ns/op
Pilot 6: 512 op, 1520.52 ns, 2.9698 ns/op
Pilot 7: 1024 op, 3801.31 ns, 3.7122 ns/op
Pilot 8: 2048 op, 6462.22 ns, 3.1554 ns/op
Pilot 9: 4096 op, 12924.45 ns, 3.1554 ns/op
Pilot 10: 8192 op, 25088.64 ns, 3.0626 ns/op
Pilot 11: 16384 op, 49797.14 ns, 3.0394 ns/op
Pilot 12: 32768 op, 101494.94 ns, 3.0974 ns/op
Pilot 13: 65536 op, 199948.83 ns, 3.0510 ns/op
Pilot 14: 131072 op, 396856.62 ns, 3.0278 ns/op
Pilot 15: 262144 op, 791052.33 ns, 3.0176 ns/op
Pilot 16: 524288 op, 1581724.52 ns, 3.0169 ns/op
Pilot 17: 1048576 op, 3161928.53 ns, 3.0155 ns/op
Pilot 18: 2097152 op, 6339062.29 ns, 3.0227 ns/op
Pilot 19: 4194304 op, 12846522.54 ns, 3.0628 ns/op
Pilot 20: 8388608 op, 25324698.28 ns, 3.0189 ns/op
Pilot 21: 16777216 op, 50949699.94 ns, 3.0368 ns/op
Pilot 22: 33554432 op, 101940454.02 ns, 3.0381 ns/op
Pilot 23: 67108864 op, 204413471.38 ns, 3.0460 ns/op

IdleWarmup 1: 67108864 op, 115885934.89 ns, 1.7268 ns/op
IdleWarmup 2: 67108864 op, 113934343.04 ns, 1.6978 ns/op
IdleWarmup 3: 67108864 op, 113724510.8 ns, 1.6946 ns/op
IdleWarmup 4: 67108864 op, 111834500.15 ns, 1.6665 ns/op
IdleWarmup 5: 67108864 op, 111701454.34 ns, 1.6645 ns/op
IdleWarmup 6: 67108864 op, 112815998.04 ns, 1.6811 ns/op
IdleWarmup 7: 67108864 op, 124677601.51 ns, 1.8578 ns/op
IdleWarmup 8: 67108864 op, 117331572.57 ns, 1.7484 ns/op
IdleWarmup 9: 67108864 op, 116377444.1 ns, 1.7342 ns/op
IdleWarmup 10: 67108864 op, 114649749.32 ns, 1.7084 ns/op

IdleTarget 1: 67108864 op, 114408746.36 ns, 1.7048 ns/op
IdleTarget 2: 67108864 op, 113846912.94 ns, 1.6965 ns/op
IdleTarget 3: 67108864 op, 111643294.32 ns, 1.6636 ns/op
IdleTarget 4: 67108864 op, 111116813.07 ns, 1.6558 ns/op
IdleTarget 5: 67108864 op, 112780645.87 ns, 1.6806 ns/op
IdleTarget 6: 67108864 op, 114856160.38 ns, 1.7115 ns/op
IdleTarget 7: 67108864 op, 112941821.35 ns, 1.6830 ns/op
IdleTarget 8: 67108864 op, 113615413.24 ns, 1.6930 ns/op
IdleTarget 9: 67108864 op, 114606034.27 ns, 1.7078 ns/op
IdleTarget 10: 67108864 op, 113640882.01 ns, 1.6934 ns/op
IdleTarget 11: 67108864 op, 112265568.54 ns, 1.6729 ns/op
IdleTarget 12: 67108864 op, 111201962.39 ns, 1.6570 ns/op
IdleTarget 13: 67108864 op, 112779505.47 ns, 1.6805 ns/op
IdleTarget 14: 67108864 op, 112323348.44 ns, 1.6737 ns/op
IdleTarget 15: 67108864 op, 111572589.98 ns, 1.6626 ns/op

MainWarmup 1: 67108864 op, 203520543.98 ns, 3.0327 ns/op
MainWarmup 2: 67108864 op, 202930200.75 ns, 3.0239 ns/op
MainWarmup 3: 67108864 op, 211893306.39 ns, 3.1575 ns/op
MainWarmup 4: 67108864 op, 205704015.66 ns, 3.0652 ns/op
MainWarmup 5: 67108864 op, 205553103.71 ns, 3.0630 ns/op
MainWarmup 6: 67108864 op, 203628501.15 ns, 3.0343 ns/op
MainWarmup 7: 67108864 op, 203669555.28 ns, 3.0349 ns/op
MainWarmup 8: 67108864 op, 205796767.6 ns, 3.0666 ns/op
MainWarmup 9: 67108864 op, 204713774.76 ns, 3.0505 ns/op

MainTarget 1: 67108864 op, 205033464.82 ns, 3.0552 ns/op
MainTarget 2: 67108864 op, 203105441.08 ns, 3.0265 ns/op
MainTarget 3: 67108864 op, 208469847.83 ns, 3.1064 ns/op
MainTarget 4: 67108864 op, 209805627.69 ns, 3.1263 ns/op
MainTarget 5: 67108864 op, 210780283.22 ns, 3.1409 ns/op
MainTarget 6: 67108864 op, 203332759.34 ns, 3.0299 ns/op
MainTarget 7: 67108864 op, 203850117.44 ns, 3.0376 ns/op
MainTarget 8: 67108864 op, 203341882.48 ns, 3.0300 ns/op
MainTarget 9: 67108864 op, 203704907.45 ns, 3.0354 ns/op
MainTarget 10: 67108864 op, 204122291.14 ns, 3.0417 ns/op
MainTarget 11: 67108864 op, 204838457.69 ns, 3.0523 ns/op
MainTarget 12: 67108864 op, 203547913.4 ns, 3.0331 ns/op
MainTarget 13: 67108864 op, 218289768.44 ns, 3.2528 ns/op
MainTarget 14: 67108864 op, 218671419.82 ns, 3.2585 ns/op
MainTarget 15: 67108864 op, 206281434.45 ns, 3.0738 ns/op

Result 1: 67108864 op, 92126818.25 ns, 1.3728 ns/op
Result 2: 67108864 op, 90198794.5 ns, 1.3441 ns/op
Result 3: 67108864 op, 95563201.25 ns, 1.4240 ns/op
Result 4: 67108864 op, 96898981.11 ns, 1.4439 ns/op
Result 5: 67108864 op, 97873636.64 ns, 1.4584 ns/op
Result 6: 67108864 op, 90426112.76 ns, 1.3475 ns/op
Result 7: 67108864 op, 90943470.87 ns, 1.3552 ns/op
Result 8: 67108864 op, 90435235.9 ns, 1.3476 ns/op
Result 9: 67108864 op, 90798260.88 ns, 1.3530 ns/op
Result 10: 67108864 op, 91215644.56 ns, 1.3592 ns/op
Result 11: 67108864 op, 91931811.11 ns, 1.3699 ns/op
Result 12: 67108864 op, 90641266.83 ns, 1.3507 ns/op
Result 13: 67108864 op, 105383121.86 ns, 1.5703 ns/op
Result 14: 67108864 op, 105764773.25 ns, 1.5760 ns/op
Result 15: 67108864 op, 93374787.87 ns, 1.3914 ns/op

// Run, Diagnostic
// BeforeAnythingElse

// Benchmark Process Environment Information:
// Runtime=Clr 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
// GC=Concurrent Workstation
// Job: DefaultJob

// AfterSetup
// BeforeCleanup
Result 1: 67108864 op, 91956925.09 ns, 1.3703 ns/op
Result 2: 67108864 op, 91718202.91 ns, 1.3667 ns/op
Result 3: 67108864 op, 92716426.56 ns, 1.3816 ns/op
Result 4: 67108864 op, 91398512.85 ns, 1.3619 ns/op
Result 5: 67108864 op, 93103399.78 ns, 1.3873 ns/op
Result 6: 67108864 op, 91918912 ns, 1.3697 ns/op
Result 7: 67108864 op, 90337187.48 ns, 1.3461 ns/op
Result 8: 67108864 op, 89465547.41 ns, 1.3331 ns/op
Result 9: 67108864 op, 91131280.85 ns, 1.3580 ns/op
Result 10: 67108864 op, 93871644.25 ns, 1.3988 ns/op
Result 11: 67108864 op, 93034596.09 ns, 1.3863 ns/op
Result 12: 67108864 op, 91609485.48 ns, 1.3651 ns/op
Result 13: 67108864 op, 93297266.52 ns, 1.3902 ns/op
Result 14: 67108864 op, 93346303.4 ns, 1.3910 ns/op
Result 15: 67108864 op, 90181713.96 ns, 1.3438 ns/op

Mean = 1.4043 ns, StdErr = 0.0200 ns (1.43%); N = 15, StdDev = 0.0776 ns
Min = 1.3441 ns, Q1 = 1.3507 ns, Median = 1.3699 ns, Q3 = 1.4439 ns, Max = 1.5760 ns
IQR = 0.0932 ns, LowerFence = 1.2108 ns, UpperFence = 1.5838 ns
ConfidenceInterval = [1.3650 ns; 1.4435 ns] (CI 95%)
Skewness = 1.24384608367579, Kurtosis = 3.13103855417746

// **************************
// Benchmark: Program.SetViaDelegate: DefaultJob
// *** Generate ***
// Result = Success
// BinariesDirectoryPath = C:\Users\warma11\Documents\Visual Studio 2013\Projects\ReflectionBenchmarks\ReflectionBenchmarks\bin\Release

// *** Build ***
BuildScript: C:\Users\warma11\Documents\Visual Studio 2013\Projects\ReflectionBenchmarks\ReflectionBenchmarks\bin\Release\BDN.Generated.bat
// Result = Success

// *** Execute ***
// Launch: 1 / 1

// Benchmark Process Environment Information:
// Runtime=Clr 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
// GC=Concurrent Workstation
// Job: DefaultJob

Pilot 1: 16 op, 131525.28 ns, 8.2203 us/op
Pilot 2: 32 op, 1900.65 ns, 59.3954 ns/op
Pilot 3: 64 op, 1140.39 ns, 17.8186 ns/op
Pilot 4: 128 op, 1520.52 ns, 11.8791 ns/op
Pilot 5: 256 op, 1520.52 ns, 5.9395 ns/op
Pilot 6: 512 op, 2660.92 ns, 5.1971 ns/op
Pilot 7: 1024 op, 4941.7 ns, 4.8259 ns/op
Pilot 8: 2048 op, 15965.5 ns, 7.7957 ns/op
Pilot 9: 4096 op, 19006.54 ns, 4.6403 ns/op
Pilot 10: 8192 op, 37252.82 ns, 4.5475 ns/op
Pilot 11: 16384 op, 74125.52 ns, 4.5243 ns/op
Pilot 12: 32768 op, 155473.52 ns, 4.7447 ns/op
Pilot 13: 65536 op, 309806.65 ns, 4.7273 ns/op
Pilot 14: 131072 op, 589963.1 ns, 4.5011 ns/op
Pilot 15: 262144 op, 1178025.55 ns, 4.4938 ns/op
Pilot 16: 524288 op, 2357571.62 ns, 4.4967 ns/op
Pilot 17: 1048576 op, 4684732.77 ns, 4.4677 ns/op
Pilot 18: 2097152 op, 9689915.85 ns, 4.6205 ns/op
Pilot 19: 4194304 op, 19610571.14 ns, 4.6755 ns/op
Pilot 20: 8388608 op, 37738251.77 ns, 4.4988 ns/op
Pilot 21: 16777216 op, 76177084.72 ns, 4.5405 ns/op
Pilot 22: 33554432 op, 150869758.42 ns, 4.4963 ns/op
Pilot 23: 67108864 op, 304893842.75 ns, 4.5433 ns/op

IdleWarmup 1: 67108864 op, 114163181.82 ns, 1.7012 ns/op
IdleWarmup 2: 67108864 op, 114588548.25 ns, 1.7075 ns/op
IdleWarmup 3: 67108864 op, 115562443.53 ns, 1.7220 ns/op
IdleWarmup 4: 67108864 op, 115330943.83 ns, 1.7186 ns/op
IdleWarmup 5: 67108864 op, 111347552.51 ns, 1.6592 ns/op
IdleWarmup 6: 67108864 op, 110634427.01 ns, 1.6486 ns/op
IdleWarmup 7: 67108864 op, 113575499.5 ns, 1.6924 ns/op
IdleWarmup 8: 67108864 op, 114970959.9 ns, 1.7132 ns/op
IdleWarmup 9: 67108864 op, 112458294.89 ns, 1.6758 ns/op

IdleTarget 1: 67108864 op, 112502770.2 ns, 1.6764 ns/op
IdleTarget 2: 67108864 op, 112943722.01 ns, 1.6830 ns/op
IdleTarget 3: 67108864 op, 112194103.94 ns, 1.6718 ns/op
IdleTarget 4: 67108864 op, 112530519.76 ns, 1.6768 ns/op
IdleTarget 5: 67108864 op, 112901527.48 ns, 1.6824 ns/op
IdleTarget 6: 67108864 op, 113046357.34 ns, 1.6845 ns/op
IdleTarget 7: 67108864 op, 112137844.57 ns, 1.6710 ns/op
IdleTarget 8: 67108864 op, 112806874.89 ns, 1.6810 ns/op
IdleTarget 9: 67108864 op, 113293442.4 ns, 1.6882 ns/op
IdleTarget 10: 67108864 op, 116264545.23 ns, 1.7325 ns/op
IdleTarget 11: 67108864 op, 111241115.87 ns, 1.6576 ns/op
IdleTarget 12: 67108864 op, 127291381.33 ns, 1.8968 ns/op
IdleTarget 13: 67108864 op, 119753386.3 ns, 1.7845 ns/op
IdleTarget 14: 67108864 op, 116029624.36 ns, 1.7290 ns/op
IdleTarget 15: 67108864 op, 111501125.38 ns, 1.6615 ns/op

MainWarmup 1: 67108864 op, 302959736.92 ns, 4.5145 ns/op
MainWarmup 2: 67108864 op, 305059579.81 ns, 4.5457 ns/op
MainWarmup 3: 67108864 op, 306000023.57 ns, 4.5598 ns/op
MainWarmup 4: 67108864 op, 302278542.41 ns, 4.5043 ns/op
MainWarmup 5: 67108864 op, 304775241.92 ns, 4.5415 ns/op
MainWarmup 6: 67108864 op, 303166528.11 ns, 4.5175 ns/op

MainTarget 1: 67108864 op, 302339363.35 ns, 4.5052 ns/op
MainTarget 2: 67108864 op, 305255727.34 ns, 4.5487 ns/op
MainTarget 3: 67108864 op, 306457321 ns, 4.5666 ns/op
MainTarget 4: 67108864 op, 301383334.23 ns, 4.4910 ns/op
MainTarget 5: 67108864 op, 304985454.29 ns, 4.5446 ns/op
MainTarget 6: 67108864 op, 304005857.06 ns, 4.5300 ns/op
MainTarget 7: 67108864 op, 300708982.07 ns, 4.4809 ns/op
MainTarget 8: 67108864 op, 304227473.35 ns, 4.5333 ns/op
MainTarget 9: 67108864 op, 302465946.93 ns, 4.5071 ns/op
MainTarget 10: 67108864 op, 308619505.35 ns, 4.5988 ns/op
MainTarget 11: 67108864 op, 303345189.61 ns, 4.5202 ns/op
MainTarget 12: 67108864 op, 303133076.59 ns, 4.5170 ns/op
MainTarget 13: 67108864 op, 302017012.38 ns, 4.5004 ns/op
MainTarget 14: 67108864 op, 304116095.01 ns, 4.5317 ns/op
MainTarget 15: 67108864 op, 303568326.43 ns, 4.5235 ns/op

Result 1: 67108864 op, 187910140.61 ns, 2.8001 ns/op
Result 2: 67108864 op, 190826504.6 ns, 2.8435 ns/op
Result 3: 67108864 op, 192028098.26 ns, 2.8614 ns/op
Result 4: 67108864 op, 186954111.49 ns, 2.7858 ns/op
Result 5: 67108864 op, 190556231.55 ns, 2.8395 ns/op
Result 6: 67108864 op, 189576634.32 ns, 2.8249 ns/op
Result 7: 67108864 op, 186279759.34 ns, 2.7758 ns/op
Result 8: 67108864 op, 189798250.61 ns, 2.8282 ns/op
Result 9: 67108864 op, 188036724.19 ns, 2.8020 ns/op
Result 10: 67108864 op, 194190282.61 ns, 2.8937 ns/op
Result 11: 67108864 op, 188915966.88 ns, 2.8151 ns/op
Result 12: 67108864 op, 188703853.86 ns, 2.8119 ns/op
Result 13: 67108864 op, 187587789.64 ns, 2.7953 ns/op
Result 14: 67108864 op, 189686872.27 ns, 2.8266 ns/op
Result 15: 67108864 op, 189139103.69 ns, 2.8184 ns/op

// Run, Diagnostic
// BeforeAnythingElse

// Benchmark Process Environment Information:
// Runtime=Clr 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
// GC=Concurrent Workstation
// Job: DefaultJob

// AfterSetup
// BeforeCleanup
Result 1: 67108864 op, 191713476.61 ns, 2.8568 ns/op
Result 2: 67108864 op, 190738821.08 ns, 2.8422 ns/op
Result 3: 67108864 op, 188915713.46 ns, 2.8151 ns/op
Result 4: 67108864 op, 190636946.01 ns, 2.8407 ns/op
Result 5: 67108864 op, 191223487.93 ns, 2.8495 ns/op
Result 6: 67108864 op, 192954603.89 ns, 2.8752 ns/op
Result 7: 67108864 op, 191888336.81 ns, 2.8594 ns/op
Result 8: 67108864 op, 190866925.18 ns, 2.8441 ns/op
Result 9: 67108864 op, 189781271.43 ns, 2.8280 ns/op
Result 10: 67108864 op, 190901897.22 ns, 2.8447 ns/op
Result 11: 67108864 op, 191726401.06 ns, 2.8569 ns/op
Result 12: 67108864 op, 188522

@lalitkale
Copy link

@guillaume86
Copy link

I ran it again in net60 and coded myself the compiled Expression trees:
I also added a loop (100 time) inside each case because BenchmarkDN did not like a baseline so fast.

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment