From 575ca2913a5ebc0f89ab3dae9cfb87a5edcd8b3f Mon Sep 17 00:00:00 2001 From: Aykhan Shahsuvarov Date: Tue, 17 Dec 2024 23:07:25 +0400 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A8=20Reduce=20memory=20usage=20of=20t?= =?UTF-8?q?he=20'Response'=20struct?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- requests/response.go | 21 ++++++--------------- requests/run.go | 11 +++++------ 2 files changed, 11 insertions(+), 21 deletions(-) diff --git a/requests/response.go b/requests/response.go index 68df76a..00d1f08 100644 --- a/requests/response.go +++ b/requests/response.go @@ -1,7 +1,6 @@ package requests import ( - "fmt" "os" "time" @@ -10,9 +9,8 @@ import ( ) type Response struct { - StatusCode int - Error error - Time time.Duration + Response string + Time time.Duration } type Responses []*Response @@ -45,17 +43,10 @@ func (respones Responses) Print() { } total.Sum += response.Time - if response.Error != nil { - mergedResponses[response.Error.Error()] = append( - mergedResponses[response.Error.Error()], - response.Time, - ) - } else { - mergedResponses[fmt.Sprintf("%d", response.StatusCode)] = append( - mergedResponses[fmt.Sprintf("%d", response.StatusCode)], - response.Time, - ) - } + mergedResponses[response.Response] = append( + mergedResponses[response.Response], + response.Time, + ) allDurations = append(allDurations, response.Time) } allDurations.Sort() diff --git a/requests/run.go b/requests/run.go index a90e58a..b5233d1 100644 --- a/requests/run.go +++ b/requests/run.go @@ -2,6 +2,7 @@ package requests import ( "context" + "strconv" "sync" "time" @@ -142,18 +143,16 @@ func sendRequest( return } *responseData = append(*responseData, &Response{ - StatusCode: 0, - Error: err, - Time: completedTime, + Response: err.Error(), + Time: completedTime, }) increase <- 1 return } *responseData = append(*responseData, &Response{ - StatusCode: response.StatusCode(), - Error: nil, - Time: completedTime, + Response: strconv.Itoa(response.StatusCode()), + Time: completedTime, }) increase <- 1 }()