C#에서 힙 할당을 줄이기 위한 언어 기능


C#에서 힙 할당을 줄이기 위한 언어 기능

struct(구조체) 사용 C#의 클래스는 참조형이므로, 클래스의 인스턴스를 너무 생성하면 GC에 부담이 걸린다. 반면에 C#에는 사용자 지정 값 타입을 정의하는 struct 기능이 있다. 이것은 C++의 class/struct와 거의 같고, 스택이나 클래스/배열 안에 직접 인스턴스를 확보할 수가 있다. System.Numerics 네임스페이스에는 이를 이용한 복소수형 Complex 나 3D 벡터형 Vector3 등이 미리 정의되어 있다. 덧붙여 int 타입이나 float 타입 등도 (명목상은) struct의 일종으로 되어 있고, System 이름 공간에 있어서 각각 struct Int32, struct Single 로서 정의되고 있다. 함수에 ref,out으로 전달 C++에서의 포인터나 참조를 사용하는..


원문링크 : C#에서 힙 할당을 줄이기 위한 언어 기능