From 1f13655464e8f68b52608de07eb55085afc4cb5f Mon Sep 17 00:00:00 2001 From: Mircea Trofin Date: Thu, 5 Dec 2024 15:47:43 -0800 Subject: [PATCH 1/2] Bail out fast when no demangling is requested Avoid trying to demangle functions one by one; besides, `demangleSingleFunction` doesn't quite behave correctly when **no** demangling is requested. --- internal/symbolizer/symbolizer.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/internal/symbolizer/symbolizer.go b/internal/symbolizer/symbolizer.go index 0d451364..7cc4b7cb 100644 --- a/internal/symbolizer/symbolizer.go +++ b/internal/symbolizer/symbolizer.go @@ -257,6 +257,10 @@ func Demangle(prof *profile.Profile, force bool, demanglerMode string) { } options := demanglerModeToOptions(demanglerMode) + // bail out fast to avoid any parsing, if we really don't want any demangling. + if len(options) == 0 { + return + } for _, fn := range prof.Function { demangleSingleFunction(fn, options) } From e189dbb224324d9f3aaa763555eae4f03946721f Mon Sep 17 00:00:00 2001 From: Mircea Trofin Date: Thu, 5 Dec 2024 16:48:45 -0800 Subject: [PATCH 2/2] s/bail/Bail --- internal/symbolizer/symbolizer.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/symbolizer/symbolizer.go b/internal/symbolizer/symbolizer.go index 7cc4b7cb..fd6e015a 100644 --- a/internal/symbolizer/symbolizer.go +++ b/internal/symbolizer/symbolizer.go @@ -257,7 +257,7 @@ func Demangle(prof *profile.Profile, force bool, demanglerMode string) { } options := demanglerModeToOptions(demanglerMode) - // bail out fast to avoid any parsing, if we really don't want any demangling. + // Bail out fast to avoid any parsing, if we really don't want any demangling. if len(options) == 0 { return }