Pregunta

En nuestra aplicación, tenemos una muy grande de matriz de bytes y tenemos que convertir estos bytes en diferentes tipos.En la actualidad, utilizamos BitConverter.ToXXXX() para este propósito.Nuestros pesos pesados son, ToInt16 y ToUInt64.

Para UInt64, nuestro problema es que el flujo de datos tiene actualmente 6 bytes de datos para representar un entero grande.Ya que no hay ninguna función nativa para convertir de 6 bytes de datos para UInt64, hacemos:

UInt64 value = BitConverter.ToUInt64() & 0x0000ffffffffffff;

Nuestro uso de ToInt16 es más simple, no tiene que realizar ninguna manipulación de bits.

Lo hacemos de muchas de estas 2 operaciones que quería preguntar a la MANERA de la comunidad si hay una manera más rápida de hacer estas conversiones.Ahora, aproximadamente el 20% de toda nuestra ciclos de CPU consumido por estas dos funciones.

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top