mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-27 09:54:15 -05:00
9607750b5e
`hex.EncodeToString` has better performance than `fmt.Sprintf("%x", []byte)`, we should use it as much as possible. I'm not an extreme fan of performance, so I think there are some exceptions: - `fmt.Sprintf("%x", func(...)[N]byte())` - We can't slice the function return value directly, and it's not worth adding lines. ```diff func A()[20]byte { ... } - a := fmt.Sprintf("%x", A()) - a := hex.EncodeToString(A()[:]) // invalid + tmp := A() + a := hex.EncodeToString(tmp[:]) ``` - `fmt.Sprintf("%X", []byte)` - `strings.ToUpper(hex.EncodeToString(bytes))` has even worse performance. |
||
---|---|---|
.. | ||
main_test.go | ||
v155.go | ||
v156.go | ||
v157.go | ||
v158.go | ||
v159.go | ||
v160.go | ||
v161.go | ||
v162.go | ||
v163.go | ||
v164.go | ||
v165.go | ||
v166.go | ||
v167.go | ||
v168.go | ||
v169.go | ||
v170.go | ||
v171.go | ||
v172.go | ||
v173.go | ||
v174.go | ||
v175.go | ||
v176.go | ||
v176_test.go | ||
v177.go | ||
v177_test.go |