🔨 Reduce memory usage of the 'Response' struct

This commit is contained in:
Aykhan Shahsuvarov 2024-12-17 23:07:25 +04:00
parent 4686e26ede
commit 575ca2913a
2 changed files with 11 additions and 21 deletions

View File

@ -1,7 +1,6 @@
package requests package requests
import ( import (
"fmt"
"os" "os"
"time" "time"
@ -10,9 +9,8 @@ import (
) )
type Response struct { type Response struct {
StatusCode int Response string
Error error Time time.Duration
Time time.Duration
} }
type Responses []*Response type Responses []*Response
@ -45,17 +43,10 @@ func (respones Responses) Print() {
} }
total.Sum += response.Time total.Sum += response.Time
if response.Error != nil { mergedResponses[response.Response] = append(
mergedResponses[response.Error.Error()] = append( mergedResponses[response.Response],
mergedResponses[response.Error.Error()], response.Time,
response.Time, )
)
} else {
mergedResponses[fmt.Sprintf("%d", response.StatusCode)] = append(
mergedResponses[fmt.Sprintf("%d", response.StatusCode)],
response.Time,
)
}
allDurations = append(allDurations, response.Time) allDurations = append(allDurations, response.Time)
} }
allDurations.Sort() allDurations.Sort()

View File

@ -2,6 +2,7 @@ package requests
import ( import (
"context" "context"
"strconv"
"sync" "sync"
"time" "time"
@ -142,18 +143,16 @@ func sendRequest(
return return
} }
*responseData = append(*responseData, &Response{ *responseData = append(*responseData, &Response{
StatusCode: 0, Response: err.Error(),
Error: err, Time: completedTime,
Time: completedTime,
}) })
increase <- 1 increase <- 1
return return
} }
*responseData = append(*responseData, &Response{ *responseData = append(*responseData, &Response{
StatusCode: response.StatusCode(), Response: strconv.Itoa(response.StatusCode()),
Error: nil, Time: completedTime,
Time: completedTime,
}) })
increase <- 1 increase <- 1
}() }()