Skip to content
This repository was archived by the owner on Jun 6, 2024. It is now read-only.

Commit 0b67300

Browse files
authored
perf(httpClient): compare strings with strings.EqualFold (#962)
Comparing two strings to the same case with `strings.ToLower` is more computational expensive than `strings.EqualFold`. Sample benchmark: func BenchmarkToLower(b *testing.B) { for i := 0; i < b.N; i++ { if strings.ToLower("CONTENT-TYPE") != strings.ToLower("content-type") { b.Fail() } } } func BenchmarkEqualFold(b *testing.B) { for i := 0; i < b.N; i++ { if !strings.EqualFold("CONTENT-TYPE", "content-type") { b.Fail() } } } goos: linux goarch: amd64 pkg: github.com/datreeio/datree/pkg/httpClient cpu: AMD Ryzen 7 PRO 4750U with Radeon Graphics BenchmarkToLower-16 8183317 192.1 ns/op 16 B/op 1 allocs/op BenchmarkEqualFold-16 82634701 12.92 ns/op 0 B/op 0 allocs/op PASS ok github.com/datreeio/datree/pkg/httpClient 4.181s Reference: https://staticcheck.dev/docs/checks/#SA6005 Signed-off-by: Eng Zer Jun <[email protected]>
1 parent 305e848 commit 0b67300

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

pkg/httpClient/client.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ func (c *Client) parseBody(body interface{}) (io.ReadWriter, error) {
162162

163163
func (c *Client) getValueOfHeader(headers map[string]string, header string) string {
164164
for currentHeader, currentValue := range headers {
165-
if strings.ToLower(currentHeader) == strings.ToLower(header) {
165+
if strings.EqualFold(currentHeader, header) {
166166
return currentValue
167167
}
168168
}

0 commit comments

Comments
 (0)