Estoy tratando de pasar un byte [] que contiene caracteres ASCII a log4j, para iniciar sesión en un archivo usando la representación obvia. Cuando simplemente paso en el byt [], por supuesto, se trata como un objeto y los registros son bastante inútiles. Cuando intento convertirlos a cadenas usando new String(byte[] data)
, el rendimiento de mi aplicación se reduce a la mitad.Convertir bytes ASCII [] a String
Cómo puedo pasarlos eficientemente, sin incurrir en la penalización de aproximadamente 30us de tiempo de convertirlos en cadenas.
Además, ¿por qué tarda tanto tiempo en convertirlos?
Gracias.
Editar
debo añadir que estoy optmising de latencia aquí - y sí, 30us hace la diferencia! Además, estas matrices varían desde ~ 100 hasta miles de bytes.
Agradable, usando un registrador asíncrono esto mueve la conversión lejos de la ruta crítica. – jwoolard