Change-Id: I12d2ae7dd6a33ecb7110b7d090871e7143fd609f
Reviewed-on: https://go-review.googlesource.com/c/go/+/646196
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
FMT < math/big/internal/asmgen;
FMT, testing < internal/cgrouptest;
+ C, CGO < internal/runtime/cgobench;
`
// listStdPkgs returns the same list of packages as "go list std".
--- /dev/null
+// Copyright 2025 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build cgo
+
+package cgobench_test
+
+import (
+ "internal/runtime/cgobench"
+ "testing"
+)
+
+func BenchmarkCgoCall(b *testing.B) {
+ for b.Loop() {
+ cgobench.Empty()
+ }
+}
+
+func BenchmarkCgoCallParallel(b *testing.B) {
+ b.RunParallel(func(pb *testing.PB) {
+ for pb.Next() {
+ cgobench.Empty()
+ }
+ })
+}
--- /dev/null
+// Copyright 2025 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build cgo
+
+package cgobench
+
+/*
+static void empty() {
+}
+*/
+import "C"
+
+func Empty() {
+ C.empty()
+}