Reflection Performance Benchmarks
Unity Helpers replaces ad-hoc reflection with cached delegates that favour expression lambdas on IL2CPP-safe platforms and fall back to dynamic IL emit or plain reflection where available. These benchmarks compare raw System.Reflection against the helpers for common access patterns.
Each run updates the table for the current operating system only. Sections that still show _No benchmark data generated yet._ simply have not been executed on that platform.
Generated on 2026-04-22 22:11:32 UTC
Scenario
Helper (ops/sec)
System.Reflection (ops/sec)
Speedup vs Reflection
Instance Field Get (boxed) 22.62M 7.27M 3.11x
Instance Field Set (boxed) 21.97M 5.47M 4.02x
Static Field Get (boxed) 21.09M 8.59M 2.45x
Static Field Set (boxed) 22.83M 6.14M 3.72x
Instance Property Get (boxed) 23.39M 21.74M 1.08x
Instance Property Set (boxed) 21.72M 2.06M 10.54x
Static Property Get (boxed) 20.11M 21.72M 0.93x
Static Property Set (boxed) 23.22M 2.89M 8.03x
Instance Method Invoke (boxed) 15.03M 1.98M 7.58x
Static Method Invoke (boxed) 22.70M 2.66M 8.55x
Constructor Invoke (boxed) 22.47M 2.58M 8.70x
Scenario
Helper (ops/sec)
Baseline Delegate (ops/sec)
System.Reflection (ops/sec)
Speedup vs Delegate
Speedup vs Reflection
Instance Field Get (typed) 606.46M 658.01M 7.27M 0.92x 83.42x
Instance Field Set (typed) 637.35M 656.91M 5.47M 0.97x 116.55x
Static Field Get (typed) 621.85M 692.09M 8.59M 0.90x 72.35x
Static Field Set (typed) 625.47M 671.36M 6.14M 0.93x 101.80x
Instance Property Get (typed) 600.74M 688.18M 21.74M 0.87x 27.63x
Instance Property Set (typed) 624.84M 691.35M 2.06M 0.90x 303.38x
Static Property Get (typed) 612.86M 683.35M 21.72M 0.90x 28.22x
Static Property Set (typed) 611.11M 654.86M 2.89M 0.93x 211.28x
Instance Method Invoke (typed) 590.08M 678.28M 1.98M 0.87x 297.48x
Static Method Invoke (typed) 625.72M 676.09M 2.66M 0.93x 235.57x
Scenario
Helper (ops/sec)
System.Reflection (ops/sec)
Speedup vs Reflection
Instance Field Get (boxed) 23.47M 7.32M 3.21x
Instance Field Set (boxed) 23.17M 5.44M 4.26x
Static Field Get (boxed) 22.07M 8.60M 2.57x
Static Field Set (boxed) 10.70M 2.36M 4.54x
Instance Property Get (boxed) 9.42M 20.66M 0.46x
Instance Property Set (boxed) 21.57M 2.05M 10.50x
Static Property Get (boxed) 20.44M 23.00M 0.89x
Static Property Set (boxed) 23.55M 2.87M 8.19x
Instance Method Invoke (boxed) 17.58M 1.95M 9.03x
Static Method Invoke (boxed) 22.43M 2.66M 8.42x
Constructor Invoke (boxed) 23.28M 2.55M 9.12x
Scenario
Helper (ops/sec)
Baseline Delegate (ops/sec)
System.Reflection (ops/sec)
Speedup vs Delegate
Speedup vs Reflection
Instance Field Get (typed) 586.62M 653.32M 7.32M 0.90x 80.18x
Instance Field Set (typed) 637.71M 664.97M 5.44M 0.96x 117.24x
Static Field Get (typed) 621.80M 692.98M 8.60M 0.90x 72.28x
Static Field Set (typed) 611.56M 652.12M 2.36M 0.94x 259.56x
Instance Property Get (typed) 594.57M 696.32M 20.66M 0.85x 28.77x
Instance Property Set (typed) 628.75M 694.19M 2.05M 0.91x 306.18x
Static Property Get (typed) 613.37M 681.83M 23.00M 0.90x 26.67x
Static Property Set (typed) 612.51M 654.56M 2.87M 0.94x 213.09x
Instance Method Invoke (typed) 583.62M 677.29M 1.95M 0.86x 299.64x
Static Method Invoke (typed) 628.39M 683.12M 2.66M 0.92x 235.84x
Scenario
Helper (ops/sec)
System.Reflection (ops/sec)
Speedup vs Reflection
Instance Field Get (boxed) 23.05M 7.29M 3.16x
Instance Field Set (boxed) 23.24M 5.43M 4.28x
Static Field Get (boxed) 21.82M 8.59M 2.54x
Static Field Set (boxed) 23.74M 6.16M 3.86x
Instance Property Get (boxed) 23.17M 22.17M 1.05x
Instance Property Set (boxed) 21.90M 2.05M 10.67x
Static Property Get (boxed) 19.71M 21.61M 0.91x
Static Property Set (boxed) 23.43M 2.93M 7.99x
Instance Method Invoke (boxed) 15.77M 1.99M 7.92x
Static Method Invoke (boxed) 21.32M 1.75M 12.19x
Constructor Invoke (boxed) 3.11M 1.30M 2.39x
Scenario
Helper (ops/sec)
Baseline Delegate (ops/sec)
System.Reflection (ops/sec)
Speedup vs Delegate
Speedup vs Reflection
Instance Field Get (typed) 611.96M 651.59M 7.29M 0.94x 83.98x
Instance Field Set (typed) 626.22M 656.37M 5.43M 0.95x 115.34x
Static Field Get (typed) 608.85M 680.73M 8.59M 0.89x 70.89x
Static Field Set (typed) 624.15M 652.36M 6.16M 0.96x 101.37x
Instance Property Get (typed) 588.35M 682.49M 22.17M 0.86x 26.54x
Instance Property Set (typed) 624.70M 694.66M 2.05M 0.90x 304.30x
Static Property Get (typed) 613.69M 681.86M 21.61M 0.90x 28.40x
Static Property Set (typed) 613.09M 655.63M 2.93M 0.94x 209.14x
Instance Method Invoke (typed) 584.07M 677.66M 1.99M 0.86x 293.52x
Static Method Invoke (typed) 628.55M 676.39M 1.75M 0.93x 359.42x
Strategy: Reflection Fallback
Scenario
Helper (ops/sec)
System.Reflection (ops/sec)
Speedup vs Reflection
Instance Field Get (boxed) 7.10M 7.28M 0.97x
Instance Field Set (boxed) 5.42M 4.59M 1.18x
Static Field Get (boxed) 6.58M 8.60M 0.76x
Static Field Set (boxed) 6.12M 4.11M 1.49x
Instance Property Get (boxed) 23.01M 22.00M 1.05x
Instance Property Set (boxed) 2.04M 2.07M 0.98x
Static Property Get (boxed) 17.69M 22.30M 0.79x
Static Property Set (boxed) 2.87M 2.91M 0.98x
Instance Method Invoke (boxed) 1.97M 1.95M 1.01x
Static Method Invoke (boxed) 2.63M 2.66M 0.99x
Constructor Invoke (boxed) 2.33M 1.32M 1.77x
Scenario
Helper (ops/sec)
Baseline Delegate (ops/sec)
System.Reflection (ops/sec)
Speedup vs Delegate
Speedup vs Reflection
Instance Field Get (typed) 7.18M 659.87M 7.28M 0.01x 0.99x
Instance Field Set (typed) 5.46M 656.66M 4.59M 0.01x 1.19x
Static Field Get (typed) 8.23M 681.48M 8.60M 0.01x 0.96x
Static Field Set (typed) 4.17M 652.72M 4.11M 0.01x 1.01x
Instance Property Get (typed) 588.37M 685.00M 22.00M 0.86x 26.74x
Instance Property Set (typed) 624.63M 690.38M 2.07M 0.90x 301.69x
Static Property Get (typed) 610.71M 682.48M 22.30M 0.89x 27.38x
Static Property Set (typed) 614.38M 655.45M 2.91M 0.94x 210.91x
Instance Method Invoke (typed) 573.44M 678.96M 1.95M 0.84x 294.38x
Static Method Invoke (typed) 628.94M 675.41M 2.66M 0.93x 236.59x
No benchmark data generated yet.
No benchmark data generated yet.
No benchmark data generated yet.