You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As I understand things, interface calls are even less performant than virtual calls, so in this example, using a Dictionary or ConcurrentDictionary would improve performance. Making changes like this across the whole project could be a significant difference.
Is this something that you're open to?
The text was updated successfully, but these errors were encountered:
Short answer: Yes I would be open to changes like these.
Longer answer: A lot of these are leftovers of encapsulations that eventually got demoted back to fields, or are simply the result of a lack of programming knowledge on where to use interfaces and where not to use them. AsmResolver is a project running for a while already, and as it grows, I have learned along the way as well. Some of these redundant abstractions are already removed and concretized into their specific implementations. But as you can see not all of them yet.
I noticed that some places in the code use an interface as the field type for private fields. One example location is here:
AsmResolver/src/AsmResolver.DotNet/DefaultMetadataResolver.cs
Line 14 in 7cb4ae9
As I understand things, interface calls are even less performant than virtual calls, so in this example, using a
Dictionary
orConcurrentDictionary
would improve performance. Making changes like this across the whole project could be a significant difference.Is this something that you're open to?
The text was updated successfully, but these errors were encountered: