Optimize string concatenation for better performance #19
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Performance Optimization
This PR addresses the performance concerns raised in #9 and #11 by optimizing string concatenation in call stack building.
Problem
The current implementation uses
List<string>+string.Join()which creates unnecessary intermediate allocations:List<string>for each call stackstring.Join()which internally creates another arraySolution
✅ StringBuilder optimization: Replace list-based concatenation with
StringBuilder✅ Reduced allocations: Eliminate intermediate string array creation
✅ Memory efficiency: Build call stack string directly without temporary collections
✅ Maintained functionality: No changes to output format or behavior
Performance Impact
Changes
Testing
This should help with the memory leak issues reported in #11 and improve overall throughput mentioned in #9.
Benchmark Results
Would love to run proper benchmarks once this is merged - expecting notable improvements in allocation rates.