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.
Windows Generated on 2026-09-14 05:37:47 UTC
Strategy: Default (auto) Boxed Access (object) Scenario Helper (ops/sec) System.Reflection (ops/sec) Speedup vs Reflection Instance Field Get (boxed) 26.97M 4.87M 5.54x Instance Field Set (boxed) 17.97M 5.68M 3.17x Static Field Get (boxed) 9.15M 2.73M 3.36x Static Field Set (boxed) 3.31M 964.1K 3.44x Instance Property Get (boxed) 5.27M 26.16M 0.20x Instance Property Set (boxed) 10.02M 1.89M 5.31x Static Property Get (boxed) 19.60M 12.95M 1.51x Static Property Set (boxed) 19.59M 1.61M 12.14x Instance Method Invoke (boxed) 25.20M 1.84M 13.71x Static Method Invoke (boxed) 7.41M 2.61M 2.84x Constructor Invoke (boxed) 23.17M 1.00M 23.09x
Typed Access (no boxing) Scenario Helper (ops/sec) Baseline Delegate (ops/sec) System.Reflection (ops/sec) Speedup vs Delegate Speedup vs Reflection Instance Field Get (typed) 580.66M 670.86M 4.87M 0.87x 119.20x Instance Field Set (typed) 597.19M 644.34M 5.68M 0.93x 105.23x Static Field Get (typed) 618.28M 709.36M 2.73M 0.87x 226.87x Static Field Set (typed) 620.63M 672.68M 964.1K 0.92x 643.71x Instance Property Get (typed) 564.40M 684.63M 26.16M 0.82x 21.58x Instance Property Set (typed) 626.94M 701.72M 1.89M 0.89x 332.22x Static Property Get (typed) 618.67M 683.45M 12.95M 0.91x 47.76x Static Property Set (typed) 597.69M 662.32M 1.61M 0.90x 370.17x Instance Method Invoke (typed) 623.14M 667.81M 1.84M 0.93x 339.00x Static Method Invoke (typed) 577.86M 657.41M 2.61M 0.88x 221.54x
Strategy: Expressions Boxed Access (object) Scenario Helper (ops/sec) System.Reflection (ops/sec) Speedup vs Reflection Instance Field Get (boxed) 26.82M 4.68M 5.73x Instance Field Set (boxed) 17.02M 5.42M 3.14x Static Field Get (boxed) 10.74M 7.70M 1.39x Static Field Set (boxed) 23.06M 3.14M 7.35x Instance Property Get (boxed) 27.42M 10.48M 2.62x Instance Property Set (boxed) 23.17M 1.09M 21.26x Static Property Get (boxed) 27.50M 8.67M 3.17x Static Property Set (boxed) 25.82M 1.18M 21.93x Instance Method Invoke (boxed) 25.81M 1.84M 14.04x Static Method Invoke (boxed) 7.47M 2.49M 3.00x Constructor Invoke (boxed) 23.42M 1.11M 21.01x
Typed Access (no boxing) Scenario Helper (ops/sec) Baseline Delegate (ops/sec) System.Reflection (ops/sec) Speedup vs Delegate Speedup vs Reflection Instance Field Get (typed) 587.94M 654.83M 4.68M 0.90x 125.63x Instance Field Set (typed) 631.27M 665.34M 5.42M 0.95x 116.55x Static Field Get (typed) 598.87M 697.71M 7.70M 0.86x 77.75x Static Field Set (typed) 604.51M 658.34M 3.14M 0.92x 192.69x Instance Property Get (typed) 548.18M 688.82M 10.48M 0.80x 52.30x Instance Property Set (typed) 627.09M 701.69M 1.09M 0.89x 575.56x Static Property Get (typed) 608.80M 683.92M 8.67M 0.89x 70.19x Static Property Set (typed) 624.94M 643.74M 1.18M 0.97x 530.79x Instance Method Invoke (typed) 612.01M 678.22M 1.84M 0.90x 332.79x Static Method Invoke (typed) 586.74M 652.85M 2.49M 0.90x 235.86x
Strategy: Dynamic IL Boxed Access (object) Scenario Helper (ops/sec) System.Reflection (ops/sec) Speedup vs Reflection Instance Field Get (boxed) 26.53M 4.88M 5.44x Instance Field Set (boxed) 17.71M 5.41M 3.27x Static Field Get (boxed) 10.73M 8.12M 1.32x Static Field Set (boxed) 22.09M 3.34M 6.62x Instance Property Get (boxed) 26.94M 10.61M 2.54x Instance Property Set (boxed) 23.35M 872.4K 26.76x Static Property Get (boxed) 27.34M 4.01M 6.81x Static Property Set (boxed) 4.04M 671.3K 6.01x Instance Method Invoke (boxed) 1.66M 1.15M 1.44x Static Method Invoke (boxed) 26.87M 2.62M 10.27x Constructor Invoke (boxed) 9.88M 2.50M 3.96x
Typed Access (no boxing) Scenario Helper (ops/sec) Baseline Delegate (ops/sec) System.Reflection (ops/sec) Speedup vs Delegate Speedup vs Reflection Instance Field Get (typed) 596.30M 702.60M 4.88M 0.85x 122.21x Instance Field Set (typed) 602.42M 653.76M 5.41M 0.92x 111.31x Static Field Get (typed) 617.94M 680.06M 8.12M 0.91x 76.06x Static Field Set (typed) 621.50M 646.50M 3.34M 0.96x 186.31x Instance Property Get (typed) 558.13M 676.35M 10.61M 0.83x 52.58x Instance Property Set (typed) 610.32M 699.18M 872.4K 0.87x 699.61x Static Property Get (typed) 629.81M 667.66M 4.01M 0.94x 156.91x Static Property Set (typed) 596.33M 633.30M 671.3K 0.94x 888.31x Instance Method Invoke (typed) 601.44M 678.52M 1.15M 0.89x 523.14x Static Method Invoke (typed) 601.74M 682.07M 2.62M 0.88x 230.04x
Strategy: Reflection Fallback Boxed Access (object) Scenario Helper (ops/sec) System.Reflection (ops/sec) Speedup vs Reflection Instance Field Get (boxed) 6.99M 6.94M 1.01x Instance Field Set (boxed) 5.65M 2.22M 2.55x Static Field Get (boxed) 7.79M 7.94M 0.98x Static Field Set (boxed) 6.40M 6.33M 1.01x Instance Property Get (boxed) 9.76M 24.66M 0.40x Instance Property Set (boxed) 1.17M 2.02M 0.58x Static Property Get (boxed) 23.87M 6.23M 3.83x Static Property Set (boxed) 2.77M 2.80M 0.99x Instance Method Invoke (boxed) 1.86M 1.83M 1.02x Static Method Invoke (boxed) 2.57M 2.52M 1.02x Constructor Invoke (boxed) 2.42M 2.35M 1.03x
Typed Access (no boxing) Scenario Helper (ops/sec) Baseline Delegate (ops/sec) System.Reflection (ops/sec) Speedup vs Delegate Speedup vs Reflection Instance Field Get (typed) 2.19M 687.76M 6.94M 0.00x 0.32x Instance Field Set (typed) 5.56M 663.47M 2.22M 0.01x 2.51x Static Field Get (typed) 7.94M 692.45M 7.94M 0.01x 1.00x Static Field Set (typed) 6.14M 658.82M 6.33M 0.01x 0.97x Instance Property Get (typed) 552.52M 696.34M 24.66M 0.79x 22.40x Instance Property Set (typed) 603.84M 690.68M 2.02M 0.87x 299.17x Static Property Get (typed) 611.56M 660.91M 6.23M 0.93x 98.18x Static Property Set (typed) 603.81M 643.88M 2.80M 0.94x 215.53x Instance Method Invoke (typed) 598.18M 684.02M 1.83M 0.87x 326.27x Static Method Invoke (typed) 579.89M 659.73M 2.52M 0.88x 230.09x
macOS No benchmark data generated yet.
Linux No benchmark data generated yet.
Unknown / Other No benchmark data generated yet.