tweaks to NAMES implementation (#2058)

* tweaks to NAMES implementation

* tweak member caching

* add a benchmark for NAMES
This commit is contained in:
Shivaram Lingamneni 2023-04-13 23:15:56 -07:00 committed by GitHub
parent 378d88fee2
commit eeec481b8d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 148 additions and 56 deletions

View file

@ -16,17 +16,16 @@ import (
type ClientSet = utils.HashSet[*Client]
type memberData struct {
modes *modes.ModeSet
modes modes.ModeSet
joinTime int64
}
// MemberSet is a set of members with modes.
type MemberSet map[*Client]memberData
type MemberSet map[*Client]*memberData
// Add adds the given client to this set.
func (members MemberSet) Add(member *Client) {
members[member] = memberData{
modes: modes.NewModeSet(),
members[member] = &memberData{
joinTime: time.Now().UnixNano(),
}
}