Commit 6d11103
committed
perf(kernel): cache type resolution by FQN
#typeInfoForFqn() splits FQN strings and performs Map lookups on every
method invocation and property access. Since assemblies are immutable
after load, cache the result for O(1) subsequent lookups.
Cache is cleared on assembly load to prevent stale entries.
Callers must not mutate returned spec.Type objects.
Estimated 20-30% reduction in kernel dispatch overhead.1 parent 577cef7 commit 6d11103
1 file changed
+14
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
63 | 66 | | |
64 | 67 | | |
65 | 68 | | |
| |||
587 | 590 | | |
588 | 591 | | |
589 | 592 | | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
590 | 596 | | |
591 | 597 | | |
592 | 598 | | |
| |||
1109 | 1115 | | |
1110 | 1116 | | |
1111 | 1117 | | |
| 1118 | + | |
| 1119 | + | |
| 1120 | + | |
| 1121 | + | |
| 1122 | + | |
| 1123 | + | |
1112 | 1124 | | |
1113 | 1125 | | |
1114 | 1126 | | |
| |||
1123 | 1135 | | |
1124 | 1136 | | |
1125 | 1137 | | |
| 1138 | + | |
| 1139 | + | |
1126 | 1140 | | |
1127 | 1141 | | |
1128 | 1142 | | |
| |||
0 commit comments