728x90
오늘 학습한 내용
1) StringBuilder를 사용한 문자열 처리 성능 최적화
C#에서 문자열을 반복적으로 더하거나 조작할 때는 + 연산자보다 System.Text.StringBuilder를 사용하는 것이 성능상 유리하다는 점을 학습했습니다. 특히 반복문 내에서 문자열을 누적할 때 StringBuilder는 메모리 할당을 줄여 더 나은 성능을 제공합니다.
문제 및 해결 과정
1) 문제 (문자열 누적 시 성능 저하 발생)
반복문을 사용해 긴 문자열을 생성할 때 + 연산을 사용하면, 문자열이 불변(immutable) 특성을 가지기 때문에 매번 새로운 문자열 객체가 생성되어 메모리 할당이 많아지는 현상이 있었습니다.
시도한 해결 방법
- string result = ""; 방식으로 반복 누적
- StringBuilder sb = new StringBuilder(); 를 사용하여 .Append()로 누적
결과
StringBuilder를 사용하니 메모리 사용량이 줄고, 특히 대량의 문자열을 처리할 때 그 차이가 눈에 띄게 나타났습니다.
새롭게 알게 된 점
- 문자열 연결 시 + 연산은 새 객체를 계속 생성하므로, 반복적인 문자열 처리에는 적합하지 않음
- StringBuilder는 내부 버퍼를 사용하여 문자열을 효율적으로 누적
- Append, AppendLine, Clear, ToString 등의 메서드를 적절히 활용하면 더욱 깔끔한 코드 작성이 가능
728x90
'내일배움캠프' 카테고리의 다른 글
내일배움캠프 Unity - TIL : 25.04.17 (0) | 2025.04.17 |
---|---|
내일배움캠프 Unity - TIL : 25.04.14 (0) | 2025.04.14 |
내일배움캠프 Unity - TIL : 25.04.09 (0) | 2025.04.09 |
내일배움캠프 Unity - TIL : 25.04.04 (1) | 2025.04.04 |
내일배움캠프 Unity - TIL : 25.04.02 (0) | 2025.04.02 |