diff options
Diffstat (limited to 'internal/log/caller_test.go')
-rw-r--r-- | internal/log/caller_test.go | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/internal/log/caller_test.go b/internal/log/caller_test.go deleted file mode 100644 index 59bf342d1..000000000 --- a/internal/log/caller_test.go +++ /dev/null @@ -1,54 +0,0 @@ -package log_test - -import ( - "runtime" - "strings" - "testing" - - "codeberg.org/gruf/go-atomics" - "github.com/superseriousbusiness/gotosocial/internal/log" -) - -// noopt exists to prevent certain optimisations during benching. -var noopt = atomics.NewString() - -func BenchmarkCaller(b *testing.B) { - b.RunParallel(func(pb *testing.PB) { - for pb.Next() { - name := log.Caller(2) - noopt.Store(name) - } - }) -} - -func BenchmarkCallerNoCache(b *testing.B) { - b.RunParallel(func(pb *testing.PB) { - for pb.Next() { - var rpc [1]uintptr - - // Fetch pcs of callers - n := runtime.Callers(2, rpc[:]) - - if n > 0 { - // Fetch frame info for caller pc - frame, _ := runtime.CallersFrames(rpc[:]).Next() - - if frame.PC != 0 { - name := frame.Function - - // Drop all but the package name and function name, no mod path - if idx := strings.LastIndex(name, "/"); idx >= 0 { - name = name[idx+1:] - } - - // Drop any generic type parameter markers - if idx := strings.Index(name, "[...]"); idx >= 0 { - name = name[:idx] + name[idx+5:] - } - - noopt.Store(name) - } - } - } - }) -} |