Files
renovate-sh-app[bot]zeekayrenovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
f8b2b5674a fix(deps): update module github.com/maypok86/otter/v2 to v2.3.0 (#6426)
| datasource | package                      | from   | to     |
| ---------- | ---------------------------- | ------ | ------ |
| go         | github.com/maypok86/otter/v2 | v2.2.1 | v2.3.0 |

Signed-off-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
2026-02-22 00:55:23 -08:00

47 lines
1.3 KiB
Go

// Copyright (c) 2023 Alexey Mayshev and contributors. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package xruntime
import (
"math"
"math/rand/v2"
"runtime"
"time"
)
const (
// CacheLineSize is useful for preventing false sharing.
CacheLineSize = 64
MaxDuration = time.Duration(math.MaxInt64)
)
// Parallelism returns the maximum possible number of concurrently running goroutines.
func Parallelism() uint32 {
//nolint:gosec // there will never be an overflow
maxProcs := uint32(runtime.GOMAXPROCS(0))
//nolint:gosec // there will never be an overflow
numCPU := uint32(runtime.NumCPU())
if maxProcs < numCPU {
return maxProcs
}
return numCPU
}
func Fastrand() uint32 {
//nolint:gosec // we don't need a cryptographically secure random number generator
return rand.Uint32()
}