This project has moved. For the latest updates, please go here.

Benchmark Result under .NET 4.0 (Release Candidate)

Benchmark for Object Construction

Initialization
Init info: 1 ms
Init ctorInvoker: 289 ms


Executing for 20000 iterations
Direct ctor: 0 ms
Reflection ctor: 15 ms
Fasterflect ctor: 45 ms
Fasterflect cached ctor: 0 ms


Executing for 2000000 iterations
Direct ctor: 8 ms
Reflection ctor: 1423 ms
Fasterflect ctor: 554 ms
Fasterflect cached ctor: 32 ms


Benchmark for Field Access

Initialization
Init info: 2 ms
Init setter: 51 ms
Init getter: 8 ms


Executing for 20000 iterations
Direct set: 0 ms
Direct get: 0 ms
'dynamic' set: 959 ms
'dynamic' get: 23 ms
Reflection set: 4 ms
Reflection get: 4 ms
Fasterflect set: 7 ms
Fasterflect get: 5 ms
Fasterflect cached set: 0 ms
Fasterflect cached get: 0 ms


Executing for 2000000 iterations
Direct set: 14 ms
Direct get: 18 ms
'dynamic' set: 68 ms
'dynamic' get: 41 ms
Reflection set: 488 ms
Reflection get: 344 ms
Fasterflect set: 503 ms
Fasterflect get: 416 ms
Fasterflect cached set: 24 ms
Fasterflect cached get: 13 ms


Benchmark for Static Field Access

Initialization
Init info: 0 ms
Init setter: 1 ms
Init getter: 1 ms


Executing for 20000 iterations
Direct set: 0 ms
Direct get: 0 ms
Reflection set: 17 ms
Reflection get: 3 ms
Fasterflect set: 4 ms
Fasterflect get: 5 ms
Fasterflect cached set: 0 ms
Fasterflect cached get: 0 ms


Executing for 2000000 iterations
Direct set: 7 ms
Direct get: 8 ms
Reflection set: 498 ms
Reflection get: 528 ms
Fasterflect set: 518 ms
Fasterflect get: 442 ms
Fasterflect cached set: 33 ms
Fasterflect cached get: 31 ms


Benchmark for Property Access

Initialization
Init info: 0 ms
Init setter: 7 ms
Init getter: 1 ms


Executing for 20000 iterations
Direct set: 0 ms
Direct get: 0 ms
'dynamic' set: 114 ms
'dynamic' get: 8 ms
Reflection set: 28 ms
Reflection get: 19 ms
Fasterflect set: 18 ms
Fasterflect get: 8 ms
Fasterflect cached set: 1 ms
Fasterflect cached get: 1 ms


Executing for 2000000 iterations
Direct set: 13 ms
Direct get: 10 ms
'dynamic' set: 161 ms
'dynamic' get: 114 ms
Reflection set: 1952 ms
Reflection get: 1438 ms
Fasterflect set: 410 ms
Fasterflect get: 404 ms
Fasterflect cached set: 38 ms
Fasterflect cached get: 33 ms


Benchmark for Static Property Access

Initialization
Init info: 0 ms
Init setter: 0 ms
Init getter: 0 ms


Executing for 20000 iterations
Direct set: 0 ms
Direct get: 0 ms
Reflection set: 18 ms
Reflection get: 14 ms
Fasterflect set: 4 ms
Fasterflect get: 4 ms
Fasterflect cached set: 0 ms
Fasterflect cached get: 0 ms


Executing for 2000000 iterations
Direct set: 7 ms
Direct get: 7 ms
Reflection set: 1879 ms
Reflection get: 1506 ms
Fasterflect set: 402 ms
Fasterflect get: 419 ms
Fasterflect cached set: 38 ms
Fasterflect cached get: 25 ms


Benchmark for Method Invocation

Initialization
Init no-arg info: 0 ms
Init arg info: 0 ms
Init no-arg invoker: 7 ms
Init arg invoker: 2 ms


Executing for 20000 iterations
Direct invoke: 0 ms
Direct invoke (arg): 0 ms
'dynamic' invoke: 6 ms
'dynamic' invoke (arg): 11 ms
Reflection invoke: 17 ms
Reflection invoke (arg): 18 ms
Fasterflect invoke: 5 ms
Fasterflect invoke (arg): 7 ms
Fasterflect cached invoke: 0 ms
Fasterflect cached invoke (arg): 0 ms


Executing for 2000000 iterations
Direct invoke: 8 ms
Direct invoke (arg): 9 ms
'dynamic' invoke: 76 ms
'dynamic' invoke (arg): 79 ms
Reflection invoke: 1269 ms
Reflection invoke (arg): 1786 ms
Fasterflect invoke: 540 ms
Fasterflect invoke (arg): 519 ms
Fasterflect cached invoke: 19 ms
Fasterflect cached invoke (arg): 26 ms


Benchmark for Static Method Invocation

Initialization
Init no-arg info: 0 ms
Init arg info: 0 ms
Init no-arg invoker: 0 ms
Init arg invoker: 0 ms


Executing for 20000 iterations
Direct invoke: 0 ms
Direct invoke (arg): 0 ms
Reflection invoke: 12 ms
Reflection invoke (arg): 20 ms
Fasterflect invoke: 7 ms
Fasterflect invoke (arg): 10 ms
Fasterflect cached invoke: 0 ms
Fasterflect cached invoke (arg): 0 ms


Executing for 2000000 iterations
Direct invoke: 9 ms
Direct invoke (arg): 8 ms
Reflection invoke: 1251 ms
Reflection invoke (arg): 1735 ms
Fasterflect invoke: 420 ms
Fasterflect invoke (arg): 466 ms
Fasterflect cached invoke: 12 ms
Fasterflect cached invoke (arg): 16 ms


Benchmark for Indexer Access

Initialization
Init setter info: 0 ms
Init getter info: 0 ms
Init setter: 2 ms
Init getter: 3 ms


Executing for 20000 iterations
Direct set: 0 ms
Direct get: 0 ms
'dynamic' set: 12 ms
'dynamic' get: 10 ms
Reflection set: 26 ms
Reflection get: 22 ms
Fasterflect set: 10 ms
Fasterflect get: 8 ms
Fasterflect cached set: 1 ms
Fasterflect cached get: 1 ms


Executing for 2000000 iterations
Direct set: 9 ms
Direct get: 7 ms
'dynamic' set: 88 ms
'dynamic' get: 81 ms
Reflection set: 2553 ms
Reflection get: 2173 ms
Fasterflect set: 774 ms
Fasterflect get: 646 ms
Fasterflect cached set: 107 ms
Fasterflect cached get: 112 ms


Benchmark for Array Element Access

Initialization
Init setter: 3 ms
Init getter: 3 ms


Executing for 20000 iterations
Direct set: 0 ms
Direct get: 0 ms
Reflection set: 0 ms
Reflection get: 0 ms
Fasterflect set: 1 ms
Fasterflect get: 0 ms
Fasterflect cached set: 0 ms
Fasterflect cached get: 0 ms


Executing for 2000000 iterations
Direct set: 12 ms
Direct get: 8 ms
Reflection set: 61 ms
Reflection get: 62 ms
Fasterflect set: 87 ms
Fasterflect get: 69 ms
Fasterflect cached set: 31 ms
Fasterflect cached get: 26 ms


Benchmark for Access Methods Enabled via .NET Reflection Metadata

Initialization
Init ctor info: 0 ms
Init property info: 0 ms
Init static property info: 0 ms
Init field info: 0 ms
Init static field info: 0 ms
Init no-arg info: 0 ms
Init arg info: 0 ms
Init static no-arg info: 0 ms
Init static arg info: 0 ms


Executing for 20000 iterations
--- Constructor: 0 ms
Direct ctor: 0 ms
Reflection ctor: 12 ms
Fasterflect ctor: 8 ms
--- Instance Field: 0 ms
Direct instance field set: 0 ms
Direct instance field get: 0 ms
Reflection instance field set: 4 ms
Reflection instance field get: 3 ms
Fasterflect instance field set: 6 ms
Fasterflect instance field get: 6 ms
--- Static Field: 0 ms
Direct static field set: 0 ms
Direct static field get: 0 ms
Reflection static field set: 4 ms
Reflection static field get: 4 ms
Fasterflect static field set: 6 ms
Fasterflect static field get: 6 ms
--- Instance Property: 0 ms
Direct instance property set: 0 ms
Direct instance property get: 0 ms
Reflection instance property set: 19 ms
Reflection instance property get: 15 ms
Fasterflect instance property set: 7 ms
Fasterflect instance property get: 6 ms
--- Static Property: 0 ms
Direct static property set: 0 ms
Direct static property get: 0 ms
Reflection static property set: 17 ms
Reflection static property get: 16 ms
Fasterflect static property set: 7 ms
Fasterflect static property get: 6 ms
--- Instance Method: 0 ms
Direct invoke: 0 ms
Direct invoke (arg): 0 ms
Reflection invoke: 14 ms
Reflection invoke (arg): 18 ms
Fasterflect invoke: 6 ms
Fasterflect invoke (arg): 12 ms
--- Static Method: 0 ms
Direct static invoke: 0 ms
Direct static invoke (arg): 0 ms
Reflection static invoke: 14 ms
Reflection static invoke (arg): 78 ms
Fasterflect static invoke: 7 ms
Fasterflect static invoke (arg): 8 ms


Executing for 2000000 iterations
--- Constructor: 9 ms
Direct ctor: 8 ms
Reflection ctor: 1169 ms
Fasterflect ctor: 514 ms
--- Instance Field: 7 ms
Direct instance field set: 13 ms
Direct instance field get: 8 ms
Reflection instance field set: 395 ms
Reflection instance field get: 304 ms
Fasterflect instance field set: 447 ms
Fasterflect instance field get: 435 ms
--- Static Field: 7 ms
Direct static field set: 7 ms
Direct static field get: 7 ms
Reflection static field set: 467 ms
Reflection static field get: 375 ms
Fasterflect static field set: 483 ms
Fasterflect static field get: 440 ms
--- Instance Property: 7 ms
Direct instance property set: 9 ms
Direct instance property get: 9 ms
Reflection instance property set: 1817 ms
Reflection instance property get: 1396 ms
Fasterflect instance property set: 497 ms
Fasterflect instance property get: 453 ms
--- Static Property: 7 ms
Direct static property set: 7 ms
Direct static property get: 8 ms
Reflection static property set: 1855 ms
Reflection static property get: 1668 ms
Fasterflect static property set: 664 ms
Fasterflect static property get: 487 ms
--- Instance Method: 7 ms
Direct invoke: 8 ms
Direct invoke (arg): 10 ms
Reflection invoke: 1286 ms
Reflection invoke (arg): 1829 ms
Fasterflect invoke: 699 ms
Fasterflect invoke (arg): 844 ms
--- Static Method: 7 ms
Direct static invoke: 8 ms
Direct static invoke (arg): 7 ms
Reflection static invoke: 1223 ms
Reflection static invoke (arg): 1723 ms
Fasterflect static invoke: 513 ms
Fasterflect static invoke (arg): 789 ms


Benchmark for Metadata Lookup

Initialization
Init Flags: 0 ms


Executing for 20000 iterations
--- Fields: 0 ms
Reflection GetField: 2 ms
Fasterflect Field: 3 ms
Reflection GetFields: 4 ms
Fasterflect Fields: 6 ms
Fasterflect Fields+1: 14 ms
Fasterflect Fields+5: 10 ms
--- Properties: 0 ms
Reflection GetProperty: 4 ms
Fasterflect Property: 5 ms
Reflection GetProperties: 4 ms
Fasterflect Properties: 6 ms
Fasterflect Properties+1: 10 ms
Fasterflect Properties+5: 13 ms
--- Members: 0 ms
Reflection GetMember: 39 ms
Fasterflect Member: 43 ms
Reflection GetMembers: 43 ms
Fasterflect Members: 44 ms
Fasterflect Members+1: 66 ms
Fasterflect Members+5: 83 ms
--- Methods: 0 ms
Reflection GetMethod: 13 ms
Fasterflect Method: 14 ms
Reflection GetMethods: 15 ms
Fasterflect Methods: 16 ms
Fasterflect Methods+1: 35 ms
Fasterflect Methods+2: 29 ms
Fasterflect Methods11: 27 ms
Fasterflect Members M: 17 ms
--- Constructors: 0 ms
Reflection GetConstructor: 5 ms
Fasterflect Constructor: 5 ms
Reflection GetConstructors: 4 ms
Fasterflect Constructors: 4 ms


Executing for 2000000 iterations
--- Fields: 7 ms
Reflection GetField: 267 ms
Fasterflect Field: 292 ms
Reflection GetFields: 453 ms
Fasterflect Fields: 514 ms
Fasterflect Fields+1: 862 ms
Fasterflect Fields+5: 1107 ms
--- Properties: 7 ms
Reflection GetProperty: 525 ms
Fasterflect Property: 583 ms
Reflection GetProperties: 415 ms
Fasterflect Properties: 540 ms
Fasterflect Properties+1: 835 ms
Fasterflect Properties+5: 1095 ms
--- Members: 7 ms
Reflection GetMember: 3716 ms
Fasterflect Member: 3752 ms
Reflection GetMembers: 4345 ms
Fasterflect Members: 4304 ms
Fasterflect Members+1: 6559 ms
Fasterflect Members+5: 7622 ms
--- Methods: 10 ms
Reflection GetMethod: 1267 ms
Fasterflect Method: 1269 ms
Reflection GetMethods: 1457 ms
Fasterflect Methods: 1312 ms
Fasterflect Methods+1: 3175 ms
Fasterflect Methods+2: 3006 ms
Fasterflect Methods11: 2807 ms
Fasterflect Members M: 1750 ms
--- Constructors: 7 ms
Reflection GetConstructor: 445 ms
Fasterflect Constructor: 464 ms
Reflection GetConstructors: 392 ms
Fasterflect Constructors: 420 ms



Last edited Mar 8, 2010 at 6:06 AM by buunguyen, version 2

Comments

No comments yet.