Improve Dictionary TryGetValue size/perfomance by benaadams · Pull Request #27195 · dotnet/coreclr (original) (raw)
Final scores:
Total bytes of diff: -1647 (-0.05% of base)
diff is an improvement.
Total byte diff includes -118 bytes from reconciling methods
Base had 4 unique methods, 3935 unique bytes
Diff had 6 unique methods, 3817 unique bytes
Top file improvements by size (bytes):
-1647 : System.Private.CoreLib.dasm (-0.05% of base)
1 total files with size differences (1 improved, 0 regressed), 0 unchanged.
Top method regressions by size (bytes):
2075 ( 8 of base) : System.Private.CoreLib.dasm - Dictionary`2:FindValue(ref):byref:this (0 base, 5 diff methods)
1029 ( 8 of base) : System.Private.CoreLib.dasm - Dictionary`2:FindValue(long):byref:this (0 base, 3 diff methods)
343 ( 8 of base) : System.Private.CoreLib.dasm - Dictionary`2:FindValue(struct):byref:this (0 base, 1 diff methods)
327 ( 8 of base) : System.Private.CoreLib.dasm - Dictionary`2:FindValue(int):byref:this (0 base, 1 diff methods)
33 ( 8 of base) : System.Private.CoreLib.dasm - Unsafe:NullRef():byref (0 base, 11 diff methods)
23 ( 2.44% of base) : System.Private.CoreLib.dasm - ResourceManager:InternalGetResourceSet(ref,bool,bool):ref:this
17 ( 8.72% of base) : System.Private.CoreLib.dasm - EventRegistrationTokenTable`1:AddEventHandlerNoLock(ref):struct:this
10 ( 8 of base) : System.Private.CoreLib.dasm - Unsafe:IsNullRef(byref):bool (0 base, 1 diff methods)
5 ( 4.35% of base) : System.Private.CoreLib.dasm - Dictionary`2:ContainsKey(ref):bool:this (5 methods)
4 ( 0.34% of base) : System.Private.CoreLib.dasm - PseudoCustomAttribute:GetCustomAttributes(ref,ref,byref) (4 methods)
4 ( 0.44% of base) : System.Private.CoreLib.dasm - PseudoCustomAttribute:IsDefined(ref,ref):bool (4 methods)
4 ( 0.78% of base) : System.Private.CoreLib.dasm - Dictionary`2:ContainsValue(struct):bool:this (3 methods)
3 ( 0.04% of base) : System.Private.CoreLib.dasm - Enumerator:MoveNext():bool:this (84 methods)
3 ( 4.35% of base) : System.Private.CoreLib.dasm - Dictionary`2:ContainsKey(long):bool:this (3 methods)
2 ( 0.08% of base) : System.Private.CoreLib.dasm - KeyCollection:CopyTo(ref,int):this (13 methods)
2 ( 0.08% of base) : System.Private.CoreLib.dasm - ValueCollection:CopyTo(ref,int):this (13 methods)
2 ( 0.04% of base) : System.Private.CoreLib.dasm - KeyCollection:System.Collections.ICollection.CopyTo(ref,int):this (12 methods)
2 ( 0.04% of base) : System.Private.CoreLib.dasm - ValueCollection:System.Collections.ICollection.CopyTo(ref,int):this (12 methods)
2 ( 4.35% of base) : System.Private.CoreLib.dasm - Dictionary`2:ContainsKey(struct):bool:this (2 methods)
1 ( 0.60% of base) : System.Private.CoreLib.dasm - Attribute:CopyToArrayList(ref,ref,ref)
1 ( 0.06% of base) : System.Private.CoreLib.dasm - MemberInfoCache`1:PopulateInterfaces(struct):ref:this
1 ( 0.14% of base) : System.Private.CoreLib.dasm - MemberInfoCache`1:PopulateEvents(struct,ref,ref,byref):this
1 ( 0.10% of base) : System.Private.CoreLib.dasm - ManyElementAsyncLocalValueMap:Set(ref,ref,bool):ref:this
1 ( 0.49% of base) : System.Private.CoreLib.dasm - SerializationInfo:AddValueInternal(ref,ref,ref):this
1 ( 0.56% of base) : System.Private.CoreLib.dasm - EventPipeEventDispatcher:RemoveEventListener(ref):this
Top method improvements by size (bytes):
-2270 (-100.00% of base) : System.Private.CoreLib.dasm - Dictionary`2:FindEntry(ref):int:this (5 base, 0 diff methods)
-1008 (-100.00% of base) : System.Private.CoreLib.dasm - Dictionary`2:FindEntry(long):int:this (3 base, 0 diff methods)
-336 (-100.00% of base) : System.Private.CoreLib.dasm - Dictionary`2:FindEntry(struct):int:this (1 base, 0 diff methods)
-321 (-100.00% of base) : System.Private.CoreLib.dasm - Dictionary`2:FindEntry(int):int:this (1 base, 0 diff methods)
-308 (-20.40% of base) : System.Private.CoreLib.dasm - Dictionary`2:System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Contains(struct):bool:this (11 methods)
-274 (-17.86% of base) : System.Private.CoreLib.dasm - Dictionary`2:System.Collections.IDictionary.get_Item(ref):ref:this (11 methods)
-253 (-14.82% of base) : System.Private.CoreLib.dasm - Dictionary`2:System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Remove(struct):bool:this (11 methods)
-154 (-37.11% of base) : System.Private.CoreLib.dasm - Dictionary`2:TryGetValue(ref,byref):bool:this (5 methods)
-96 (-37.65% of base) : System.Private.CoreLib.dasm - Dictionary`2:TryGetValue(long,byref):bool:this (3 methods)
-93 (-43.06% of base) : System.Private.CoreLib.dasm - Dictionary`2:get_Item(long):ref:this (3 methods)
-61 (-34.46% of base) : System.Private.CoreLib.dasm - Dictionary`2:TryGetValue(struct,byref):bool:this (2 methods)
-46 (-20.18% of base) : System.Private.CoreLib.dasm - Dictionary`2:get_Item(ref):struct:this (2 methods)
-36 (-21.95% of base) : System.Private.CoreLib.dasm - Unsafe:AsRef(long):byref (41 base, 32 diff methods)
-32 (-37.65% of base) : System.Private.CoreLib.dasm - Dictionary`2:TryGetValue(int,byref):bool:this
-31 (-44.93% of base) : System.Private.CoreLib.dasm - Dictionary`2:get_Item(int):ref:this
-31 (-43.06% of base) : System.Private.CoreLib.dasm - Dictionary`2:get_Item(struct):ref:this
-29 (-21.80% of base) : System.Private.CoreLib.dasm - Dictionary`2:get_Item(struct):struct:this
-25 (-2.16% of base) : System.Private.CoreLib.dasm - Dictionary`2:System.Collections.IDictionary.Contains(ref):bool:this (11 methods)
-23 (-25.84% of base) : System.Private.CoreLib.dasm - Dictionary`2:get_Item(ref):ref:this
-23 (-25.84% of base) : System.Private.CoreLib.dasm - Dictionary`2:get_Item(ref):bool:this
-23 (-26.14% of base) : System.Private.CoreLib.dasm - Dictionary`2:get_Item(ref):int:this
-15 (-17.24% of base) : System.Private.CoreLib.dasm - KeyCollection:System.Collections.Generic.ICollection<TKey>.Contains(long):bool:this (3 methods)
-12 (-2.55% of base) : System.Private.CoreLib.dasm - ManifestBuilder:GetKeywords(long,ref):ref:this
-11 (-3.91% of base) : System.Private.CoreLib.dasm - Attribute:AddAttributesToList(ref,ref,ref)
-10 (-0.53% of base) : System.Private.CoreLib.dasm - MemberInfoCache`1:PopulateProperties(struct,ref,ref,ref,byref):this