У меня есть кусок кода, критичный к скорости, который включает сравнение 2 4-х байтовых массивов.Я пытался найти самый быстрый способ для достижения этой цели, и посмотрел на this .
Выполнение 100 000 000 сравнений с помощью pinvoke и memcmp занимает ~ 9,5 секунд, используя опубликованный метод UnsafeCompareв приведенной выше ссылке требуется ~ 3,5 секунды.
Если установить 2 строки из 4 символов и сравнить те, которые используют s1 == s2, то это займет ~ 0,5 секунды.Если я использую string.Compare (s1, s2), это займет около ~ 12 секунд.
Есть ли какой-нибудь способ, с помощью которого я могу сравнить свои байтовые массивы для сравнения, это скорость выполнения s1 == s2?И если нет, могут ли быть какие-либо проблемы со мной, если я сделаю что-то вроде ниже, в основном, храня мои байтовые массивы в виде строк?
string s1 = Convert.ToChar(1).ToString() + Convert.ToChar(2).ToString() + Convert.ToChar(3).ToString() + Convert.ToChar(4).ToString();
string s2 = Convert.ToChar(1).ToString() + Convert.ToChar(2).ToString() + Convert.ToChar(3).ToString() + Convert.ToChar(4).ToString();
if (s1 == s2)
.....
Надеясь, что кто-то может помочь мне с этим.Спасибо!