Commit 3a6820b
committed
Used
The `AttributeDictionary` constructor (#99) adds some overhead to mapping operations if there aren't enough mapped attributes. To mitigate this, a threshold was previously established of five or more attributes or convertible properties (2e157e5). This was meant to account for the fact that we expect upwards of five compatible properties on the base `TopicViewModel`. With the introduction of the new `MaybeCompatible` property (6662e18, 359eaae, 1e2dc53), however, we can use a more intelligent threshold by only evaluating non-compatible properties.
In practice, some compatible properties will _still_ get mapped by the `AttributeDictionary` handling and, thus, potentially benefit from this (e.g., `View`, `IsHidden`). Mapping those will be comparatively fast, however, since they're compatible properties, so measuring off of the incompatible members remains a useful heuristic.MaybeCompatible for AttributeDictionary constructor threshold1 parent b0ba64d commit 3a6820b
1 file changed
Lines changed: 7 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
196 | 196 | | |
197 | 197 | | |
198 | 198 | | |
199 | | - | |
200 | | - | |
201 | | - | |
202 | | - | |
203 | | - | |
204 | | - | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
205 | 206 | | |
206 | 207 | | |
207 | 208 | | |
| |||
0 commit comments