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

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