Оценить сложно, тк для решения задач вполне могут использоваться разные алгоритмы.
Также я не нашёл настроек рантайма для C#, так что может использоваться не самый производительный профиль.
Также сам код выглядит подозрительно.
Рекомендую ориентироваться на techempower - там решаются в основном задачи приближенные к реальным в веб-разработке.
(Правда там код для .NET, который в топе, очень далёк от того что будет писаться в реальной ситуации)
В целом C# и Go тут идут почти на равных, с разницей только в потреблении памяти.
раннер как раз занимается тем, что запускает тесты.
Если раннер локально не зарегать, то тесты будут гоняться на другом доступном раннере, если таковой имеется.
Если гитлаб вы развернули на своих серверах, а не используете SaaS, то должны также развернуть и собственные ранеры.
Вот пара вариантов:
1. Преобразовывать массив в base64 строку и использовать её как ключ
2. Если размер фиксировано 5 - можно использовать (byte, byte, byte, byte ,byte) (кортеж из пяти байтов)
3. Раз уж размер всего 5 байт, то можно сделать структуру-обёртку (в которой будет 5 байтовых полей)
4. Можно хранить байты в int64
5. Можно считать хэш от байтового массива и использовать хэш как ключ.
6. В принципе можно сделать обёртку над массивом с кастомным Equals и GetHashCode.
Если тонометр не имеет никакого интерфейса, то только с дисплея.
Например можно приаяться к контактам, которыми управляется дисплей, и попытаться определять значения по ним.
UPD: Microlife BP A6 PC стоит 3800р, так что вполне можно и купить. Там с сайта софт качается, а подключение по USB
Фреймворк в любом случае добавляет какой-нибудь свой оверхед.
Некоторые фреймворки работают быстрее, чем стандартный http, например fiber (сделан поверх FastHttp)
А лучше или хуже - это уже про игру с компромиссами, что важнее в конкретном случае:
Простота написания, простота поддержки, или скорость?
Вообще оба варианта приемлимые, но расскажу свой опыт:
1. Возникает требование создать фичу
2. Фронт, бэк, и ещё какие-то люди собираются и обсуждают её. Фронт и Бэк договариваются о том, каким должен быть API
3. Создаются интерфейсы для апи и дтошки
(На этом моменте фронт уже может писать код, пока сервер не готов)
Таким образом сервер и клиент не зависят друг от друга, но при этом всегда согласованы.