added more tuning knobs, particularly in cache sizes

This commit is contained in:
2026-02-20 15:44:06 -07:00
parent d8eeeb7140
commit 8a1c770079
10 changed files with 86 additions and 34 deletions
+10 -5
View File
@@ -18,6 +18,7 @@ import (
"strings"
"sync"
"git.erbosoft.com/amy/amsterdam/config"
"git.erbosoft.com/amy/amsterdam/database"
"git.erbosoft.com/amy/amsterdam/util"
lru "github.com/hashicorp/golang-lru"
@@ -142,11 +143,7 @@ var menuCacheMutex sync.Mutex
// init loads the menu definitions.
func init() {
var err error
if menuCache, err = lru.New(100); err != nil {
panic(err)
}
if err = yaml.Unmarshal(initMenuData, &menuDefinitions); err != nil {
if err := yaml.Unmarshal(initMenuData, &menuDefinitions); err != nil {
panic(err) // can't happen
}
menuDefinitions.table = make(map[string]*MenuDefinition)
@@ -159,6 +156,14 @@ func init() {
}
}
// SetupMenuCache sets up the menu cache.
func SetupMenuCache() {
var err error
if menuCache, err = lru.New(config.GlobalConfig.Tuning.Caches.Menus); err != nil {
panic(err)
}
}
// AmMenu returns a menu definition.
func AmMenu(name string) *MenuDefinition {
return menuDefinitions.table[name]