Sto provando a passare un byte [] contenente caratteri ASCII a log4j, per essere registrato in un file usando la rappresentazione ovvia. Quando passo semplicemente in byt [], viene trattato come un oggetto e i registri sono piuttosto inutili. Quando provo a convertirli in stringhe usando new String(byte[] data)
, le prestazioni della mia applicazione sono dimezzate.Converti byte ASCII [] in stringa
Come posso passare in modo efficiente, senza incorrere nella penalità di circa 30 secondi di conversione in stringhe.
Inoltre, perché ci vuole così tanto tempo per convertirli?
Grazie.
Modifica
Vorrei aggiungere che io sono optmising per la latenza qui - e sì, 30US fa la differenza! Inoltre, questi array variano da ~ 100 fino a qualche migliaio di byte.
Bello, utilizzando un logger asincrono sposta la conversione dal percorso critico. – jwoolard