瀏覽代碼

Optimize GetMD5 function

|                       Method |     Mean |   Error |  StdDev |  Gen 0 | Allocated |
|----------------------------- |---------:|--------:|--------:|-------:|----------:|
|                          Old | 795.1 ns | 5.90 ns | 4.61 ns | 0.0029 |     312 B |
| HashDataInsteadOfComputeHash | 396.1 ns | 1.36 ns | 1.13 ns | 0.0014 |     152 B |
|      StackallocedDestination | 395.8 ns | 1.80 ns | 1.60 ns | 0.0014 |     152 B |
|                   RentBuffer | 498.8 ns | 3.35 ns | 2.97 ns |      - |      40 B |

Tested multiple possible speedups, in the end the simplest of them all won
Bond_009 3 年之前
父節點
當前提交
5012c09368
共有 1 個文件被更改,包括 1 次插入5 次删除
  1. 1 5
      MediaBrowser.Common/Extensions/BaseExtensions.cs

+ 1 - 5
MediaBrowser.Common/Extensions/BaseExtensions.cs

@@ -31,11 +31,7 @@ namespace MediaBrowser.Common.Extensions
         public static Guid GetMD5(this string str)
         {
 #pragma warning disable CA5351
-            using (var provider = MD5.Create())
-            {
-                return new Guid(provider.ComputeHash(Encoding.Unicode.GetBytes(str)));
-            }
-
+            return new Guid(MD5.HashData(Encoding.Unicode.GetBytes(str)));
 #pragma warning restore CA5351
         }
     }