//go:build ((linux && amd64) || (linux && arm64) || (darwin && amd64) || (darwin && arm64) || (windows && amd64)) && !blst_disabled package blst import ( "fmt" "runtime" "github.com/prysmaticlabs/prysm/v5/cache/nonblocking" "github.com/prysmaticlabs/prysm/v5/crypto/bls/common" blst "github.com/supranational/blst/bindings/go" ) func init() { // Reserve 1 core for general application work maxProcs := runtime.GOMAXPROCS(0) - 1 if maxProcs <= 0 { maxProcs = 1 } blst.SetMaxProcs(maxProcs) onEvict := func(_ [48]byte, _ common.PublicKey) {} keysCache, err := nonblocking.NewLRU(maxKeys, onEvict) if err != nil { panic(fmt.Sprintf("Could not initiate public keys cache: %v", err)) } pubkeyCache = keysCache }