dkforest

A forum and chat platform (onion)
git clone https://git.dasho.dev/n0tr1v/dkforest.git
Log | Files | Refs | LICENSE

commit 1b5f3c6ecf56ac266d697eed117beb2a12171349
parent b5a9d141a1dd0432695e93645a1d27033d8fe18c
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Thu, 25 May 2023 22:34:21 -0700

avoid allocations

Diffstat:
Mpkg/managers/managers.go | 9++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/pkg/managers/managers.go b/pkg/managers/managers.go @@ -67,9 +67,12 @@ func (m UserInfo) MarshalJSON() ([]byte, error) { type UsersMap map[string]UserInfo // Username -> UserInfo -func (m UsersMap) ToArray() (out []UserInfo) { +func (m UsersMap) ToArray() []UserInfo { + out := make([]UserInfo, len(m)) + i := 0 for _, userInfo := range m { - out = append(out, userInfo) + out[i] = userInfo + i++ } sort.Slice(out, func(i, j int) bool { if out[i].LastActivity != nil && out[j].LastActivity != nil { @@ -81,7 +84,7 @@ func (m UsersMap) ToArray() (out []UserInfo) { } return out[i].Username < out[j].Username }) - return + return out } const privateRoomKeyPrefix = "p_"