https://forum.dotnetdev.kr/t/byte-hex-16/632/4?u=tjdskaqks
문제] 8192 * 10000 바이트 배열을 난수로 생성 후, 이를 16진수 HEX 문자열로 변환한다.
최종 스코어는 다음과 같이 한다.
a = BitConverter.ToString(buffer).Replace("-", “”) 의 소요 시간
b = 자신이 만든 루틴의 소요 시간
score = a / b;
public class ByteHex16
{
private const int Size = 8192 * 10000; // 8192 * 10000 바이트 배열을 난수로 생성
private byte[] _buffer;
public void Setup()
{
_buffer = new byte[Size]; // 8192 * 10000 바이트 배열을 난수로 생성
new Random().NextBytes(_buffer);
}
public string BitConverter()
{
return System.BitConverter.ToString(_buffer).Replace("-", "");
}
public string EvanChoi()
{
const string table = "0123456789ABCDEF";
return string.Create(Size * 2, _buffer, static (span, buffer) =>
{
for (int i = 0; i < Size; i++)
{
span[0] = table[(buffer[i] & 0xF0) >> 4];
span[1] = table[buffer[i] & 0x0F];
span = span.Slice(2);
}
});
}
}
1. .NET 5.0
2. Relese/Any CPU
'C#' 카테고리의 다른 글
[C#] 윈도우 마이크 컨트롤 2 (AudioSwitcher, NAudio) (0) | 2021.04.13 |
---|---|
[C#] Async/Await, Task.result (0) | 2021.04.12 |
[C#] 윈도우 마이크 컨트롤 (AudioSwitcher, NAudio) (0) | 2021.04.06 |
[C#] PDF 읽기 (0) | 2021.02.27 |
[C#] CPU, RAM, HDD 사용량 및 OS Version, Last boottime 확인 (0) | 2021.02.10 |