Multiplication is faster than bit shifting

This commit is contained in:
Bond_009 2019-10-20 12:31:59 +02:00
parent b6627af65f
commit 593107e190
3 changed files with 6 additions and 3 deletions

View file

@ -81,7 +81,7 @@ namespace MediaBrowser.Common
break; // Unreachable
}
bytes[j] = (byte)((a << 4) | b);
bytes[j] = (byte)((a * 16) | b);
}
return bytes;

View file

@ -9,7 +9,7 @@ namespace Jellyfin.Common.Benches
[MemoryDiagnoser]
public class HexDecodeBenches
{
[Params(0, 10, 100, 1000, 10000, 1000000)]
[Params(/*0,*/ 10, 100, 1000, 10000, 1000000)]
public int N { get; set; }
private string data;
@ -40,6 +40,9 @@ namespace Jellyfin.Common.Benches
public byte[] Decode() => Hex.Decode(data);
[Benchmark]
public byte[] Decode2() => Hex.Decode2(data);
//[Benchmark]
public byte[] DecodeSubString() => DecodeSubString(data);
}
}

View file

@ -7,7 +7,7 @@ namespace Jellyfin.Common.Benches
{
public static void Main(string[] args)
{
_ = BenchmarkRunner.Run<HexEncodeBenches>();
//_ = BenchmarkRunner.Run<HexEncodeBenches>();
_ = BenchmarkRunner.Run<HexDecodeBenches>();
}
}