ソースを参照

Use stackalloc in Format3DParser.Parse

cvium 4 年 前
コミット
66de842896
1 ファイル変更5 行追加5 行削除
  1. 5 5
      Emby.Naming/Video/Format3DParser.cs

+ 5 - 5
Emby.Naming/Video/Format3DParser.cs

@@ -17,17 +17,17 @@ namespace Emby.Naming.Video
         /// <param name="path">Path to file.</param>
         /// <param name="namingOptions">The naming options.</param>
         /// <returns>Returns <see cref="Format3DResult"/> object.</returns>
-        public static Format3DResult Parse(string path, NamingOptions namingOptions)
+        public static Format3DResult Parse(ReadOnlySpan<char> path, NamingOptions namingOptions)
         {
             int oldLen = namingOptions.VideoFlagDelimiters.Length;
-            var delimiters = new char[oldLen + 1];
-            namingOptions.VideoFlagDelimiters.CopyTo(delimiters, 0);
+            Span<char> delimiters = stackalloc char[oldLen + 1];
+            namingOptions.VideoFlagDelimiters.AsSpan().CopyTo(delimiters);
             delimiters[oldLen] = ' ';
 
             return Parse(path, delimiters, namingOptions);
         }
 
-        private static Format3DResult Parse(ReadOnlySpan<char> path, char[] delimiters, NamingOptions namingOptions)
+        private static Format3DResult Parse(ReadOnlySpan<char> path, ReadOnlySpan<char> delimiters, NamingOptions namingOptions)
         {
             foreach (var rule in namingOptions.Format3DRules)
             {
@@ -42,7 +42,7 @@ namespace Emby.Naming.Video
             return _defaultResult;
         }
 
-        private static Format3DResult Parse(ReadOnlySpan<char> path, Format3DRule rule, char[] delimiters)
+        private static Format3DResult Parse(ReadOnlySpan<char> path, Format3DRule rule, ReadOnlySpan<char> delimiters)
         {
             bool is3D = false;
             string? format3D = null;