CS/ETC

C# C++ 속도차이와 그 이유

혀니리리 2024. 1. 9. 16:50
728x90

https://easycode.tistory.com/16

 

9강. C++과 C#의 차이점 → 메모리 누수 및 속도 측면에서 살펴보자

C++과 C#의 Memory Allocation 의 차이점 → 메모리 누수 및 속도 차이 C++과 C#은 변수와 개체에 대한 메모리 할당 방법이 다릅니다. C++에서 메모리는 여러 가지 방법으로 할당될 수 있습니다. 스택 할당

easycode.tistory.com

C++에서는 메모리가 스택이나 힙으로 할당되고, C#에서는.NET 프레임워크의 가비지컬렉터에 의해 메모리가 자동으로 관리됨.
C++에서 힙 할당은 스택 할당보다 약간 느릴 수 있고, 메모리파편화를 일으켜 프로그램 속도를 더 늦출 순 있지만 대부분의 경우 큰 문제는 아님
C#은 .NET프레임워크 가비지컬렉터로 자동으로 메모리를 관리하기 때문에 메모리 누수를 방지할 수 있지만 지속적으로 생성 및 소멸되어야 하는 수명이 짧은 개체가 많은 경우
특정 시나리오에서 성능 문제 일으킬 수 있음("가비지 수집 오버헤드")
요약: C++ 스택할당이 더 빠르지만 관리 복잡, C#은 메모리 누수 방지하는데 도움이 되지만 특정 시나리오에서 성능 문제 발생 가능

728x90

'CS > ETC' 카테고리의 다른 글

순수 가상함수, 일반 가상함수  (0) 2023.12.19
FSM(Finite-state machine)  (0) 2023.12.19
OOP(Object-oriented programming)  (0) 2023.12.19
Call by Value Vs Call by Reference  (0) 2023.10.01
C++과 C#의 차이 (+ 속도차이)  (0) 2023.09.27