From 90f8fa10a4e3b785b00051dfe3ab37966cc4a92c Mon Sep 17 00:00:00 2001 From: Mickael KERJEAN Date: Wed, 20 Feb 2019 15:05:26 +1100 Subject: [PATCH] improvement (performance): optimise speed and mem usage on very hot path --- server/ctrl/files.go | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/server/ctrl/files.go b/server/ctrl/files.go index c8d769ae..740c0655 100644 --- a/server/ctrl/files.go +++ b/server/ctrl/files.go @@ -1,13 +1,15 @@ package ctrl import ( - "fmt" + "encoding/base64" + "hash/fnv" . "github.com/mickael-kerjean/filestash/server/common" "github.com/mickael-kerjean/filestash/server/model" "io" "net/http" "path/filepath" "strings" + "strconv" "time" ) @@ -40,15 +42,20 @@ func FileLs(ctx App, res http.ResponseWriter, req *http.Request) { } files := make([]FileInfo, len(entries)) - etag := fmt.Sprintf("%d", len(entries)) + path + etagger := fnv.New32() + etagger.Write([]byte(path + strconv.Itoa(len(entries)))) for i:=0; i