Using the EncodeToString function from the encoding/hex package is much faster than calling the fmt.Sprintf with %x Benchmark results below with the following code func BenchmarkHexPrint(b *testing.B) { data := []byte("hellothere") for n := 0; n < b.N; n++ { // _ = fmt.Sprintf("%x", data) _ = hex.EncodeToString(data) } } name old time/op new time/op delta HexPrint-4 188ns ± 1% 99ns ± 1% -47.40% (p=0.008 n=5+5) name old alloc/op new alloc/op delta HexPrint-4 64.0B ± 0% 64.0B ± 0% ~ (all equal) name old allocs/op new allocs/op delta HexPrint-4 2.00 ± 0% 2.00 ± 0% ~ (all equal)
Name |
Last commit
|
Last Update |
---|---|---|
.. | ||
api | Loading commit data... | |
bus | Loading commit data... | |
cmd | Loading commit data... | |
components | Loading commit data... | |
events | Loading commit data... | |
log | Loading commit data... | |
login | Loading commit data... | |
metrics | Loading commit data... | |
middleware | Loading commit data... | |
models | Loading commit data... | |
plugins | Loading commit data... | |
services | Loading commit data... | |
setting | Loading commit data... | |
social | Loading commit data... | |
tracing | Loading commit data... | |
tsdb | Loading commit data... | |
util | Loading commit data... |