From e3dfd8889315af38c4eef1eb4247dc07a51899c7 Mon Sep 17 00:00:00 2001 From: kim Date: Tue, 29 Jul 2025 09:23:20 +0200 Subject: [performance] bump codeberg.org/gruf/go-kv to v2 (#4341) updates our codeberg.org/gruf/go-kv log key-value formatting library to latest version, which comes with some maaaaaaajor speed boosts in the form of: - very minimal reflect.Value{} usage - caching prepared formatting functions per type ~~still a work-in-progress until i make a release tag on the go-kv repository, which itself is waiting on published benchmark results in the README and finishing writing some code comments~~ benchmarks so far show this to be ~3x faster than the "fmt" stdlib package on average, when run across a wide variety (106 different types) of test cases, while still creating more visually friendly log output and actually recursing down nested struct ptrs Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4341 Co-authored-by: kim Co-committed-by: kim --- internal/processing/account/delete.go | 2 +- internal/processing/search/accounts.go | 2 +- internal/processing/search/get.go | 2 +- internal/processing/search/lookup.go | 2 +- internal/processing/stream/open.go | 2 +- internal/processing/workers/fromclientapi.go | 2 +- internal/processing/workers/fromfediapi.go | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) (limited to 'internal/processing') diff --git a/internal/processing/account/delete.go b/internal/processing/account/delete.go index f812909c5..717c03fcc 100644 --- a/internal/processing/account/delete.go +++ b/internal/processing/account/delete.go @@ -31,7 +31,7 @@ import ( "code.superseriousbusiness.org/gotosocial/internal/log" "code.superseriousbusiness.org/gotosocial/internal/messages" "code.superseriousbusiness.org/gotosocial/internal/util" - "codeberg.org/gruf/go-kv" + "codeberg.org/gruf/go-kv/v2" "github.com/google/uuid" "golang.org/x/crypto/bcrypt" ) diff --git a/internal/processing/search/accounts.go b/internal/processing/search/accounts.go index 9345aaba6..af84abc31 100644 --- a/internal/processing/search/accounts.go +++ b/internal/processing/search/accounts.go @@ -29,7 +29,7 @@ import ( "code.superseriousbusiness.org/gotosocial/internal/id" "code.superseriousbusiness.org/gotosocial/internal/log" "code.superseriousbusiness.org/gotosocial/internal/util" - "codeberg.org/gruf/go-kv" + "codeberg.org/gruf/go-kv/v2" ) // Accounts does a partial search for accounts that diff --git a/internal/processing/search/get.go b/internal/processing/search/get.go index 2051fb399..2e956b049 100644 --- a/internal/processing/search/get.go +++ b/internal/processing/search/get.go @@ -34,7 +34,7 @@ import ( "code.superseriousbusiness.org/gotosocial/internal/log" "code.superseriousbusiness.org/gotosocial/internal/text" "code.superseriousbusiness.org/gotosocial/internal/util" - "codeberg.org/gruf/go-kv" + "codeberg.org/gruf/go-kv/v2" ) const ( diff --git a/internal/processing/search/lookup.go b/internal/processing/search/lookup.go index 3250f9848..39fddad77 100644 --- a/internal/processing/search/lookup.go +++ b/internal/processing/search/lookup.go @@ -28,7 +28,7 @@ import ( "code.superseriousbusiness.org/gotosocial/internal/gtsmodel" "code.superseriousbusiness.org/gotosocial/internal/log" "code.superseriousbusiness.org/gotosocial/internal/util" - "codeberg.org/gruf/go-kv" + "codeberg.org/gruf/go-kv/v2" ) // Lookup does a quick, non-resolving search for accounts that diff --git a/internal/processing/stream/open.go b/internal/processing/stream/open.go index bafa277a5..899e26896 100644 --- a/internal/processing/stream/open.go +++ b/internal/processing/stream/open.go @@ -24,7 +24,7 @@ import ( "code.superseriousbusiness.org/gotosocial/internal/gtsmodel" "code.superseriousbusiness.org/gotosocial/internal/log" "code.superseriousbusiness.org/gotosocial/internal/stream" - "codeberg.org/gruf/go-kv" + "codeberg.org/gruf/go-kv/v2" ) // Open returns a new Stream for the given account, which will contain a channel for passing messages back to the caller. diff --git a/internal/processing/workers/fromclientapi.go b/internal/processing/workers/fromclientapi.go index 32b3d8816..22e7780f6 100644 --- a/internal/processing/workers/fromclientapi.go +++ b/internal/processing/workers/fromclientapi.go @@ -36,7 +36,7 @@ import ( "code.superseriousbusiness.org/gotosocial/internal/typeutils" "code.superseriousbusiness.org/gotosocial/internal/uris" "code.superseriousbusiness.org/gotosocial/internal/util" - "codeberg.org/gruf/go-kv" + "codeberg.org/gruf/go-kv/v2" ) // clientAPI wraps processing functions diff --git a/internal/processing/workers/fromfediapi.go b/internal/processing/workers/fromfediapi.go index 1a42a04fb..09c1df480 100644 --- a/internal/processing/workers/fromfediapi.go +++ b/internal/processing/workers/fromfediapi.go @@ -29,7 +29,7 @@ import ( "code.superseriousbusiness.org/gotosocial/internal/gtscontext" "code.superseriousbusiness.org/gotosocial/internal/id" "code.superseriousbusiness.org/gotosocial/internal/uris" - "codeberg.org/gruf/go-kv" + "codeberg.org/gruf/go-kv/v2" "code.superseriousbusiness.org/gotosocial/internal/gtserror" "code.superseriousbusiness.org/gotosocial/internal/gtsmodel" -- cgit v1.2.3