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-09-14 05:37:47 UTC
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
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
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
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
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
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
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
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
No benchmark data generated yet.
No benchmark data generated yet.
No benchmark data generated yet.