diff options
author | zhangyunhao <zhangyunhao@bytedance.com> | 2022-04-18 15:23:20 +0800 |
---|---|---|
committer | Gopher Robot <gobot@golang.org> | 2022-04-20 22:50:33 +0000 |
commit | ebe1435fbb50bb82bfca53063e8daba4f870ec8d (patch) | |
tree | d14d2583cbcdcd519ce32def65497fe2dce30f43 /src/runtime/export_test.go | |
parent | 6de00888e4720b7fa23ef2ce294bc3e81b866b0f (diff) | |
download | go-ebe1435fbb50bb82bfca53063e8daba4f870ec8d.tar.gz go-ebe1435fbb50bb82bfca53063e8daba4f870ec8d.zip |
runtime: add fastrand64
Support fastrand64 in the runtime, although fastrand uses wyrand to generate 64-bit random number, it still returns uint32. In some cases, we need to generate a 64-bit random number, the new API would be faster and easier to use, and at least we can use the new function in these places:
src/net/dnsclient.go:randInt()
src/hash/maphash/maphash.go:MakeSeed()
src/runtime/map.go:mapiterinit()
name time/op
Fastrand-16 0.09ns ± 5%
Fastrand64-16 0.09ns ± 6%
Change-Id: Ibb97378c7ca59bc7dc15535d4872fa58ea112e6a
Reviewed-on: https://go-review.googlesource.com/c/go/+/400734
Reviewed-by: Keith Randall <khr@golang.org>
Run-TryBot: Keith Randall <khr@golang.org>
Auto-Submit: Keith Randall <khr@golang.org>
Reviewed-by: Keith Randall <khr@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Diffstat (limited to 'src/runtime/export_test.go')
-rw-r--r-- | src/runtime/export_test.go | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/runtime/export_test.go b/src/runtime/export_test.go index af27050bfd..8a81f42ca0 100644 --- a/src/runtime/export_test.go +++ b/src/runtime/export_test.go @@ -277,6 +277,7 @@ func CountPagesInUse() (pagesInUse, counted uintptr) { } func Fastrand() uint32 { return fastrand() } +func Fastrand64() uint64 { return fastrand64() } func Fastrandn(n uint32) uint32 { return fastrandn(n) } type ProfBuf profBuf |