반응형
벡터 재할당 속도를 낮추려면
1. 벡터를 초기화할 때 벡터에 더 많은 메모리를 미리 할당합니다.
2. 벡터에 새 요소를 추가하기 전에 벡터의 크기를 수동으로 늘릴 수 있습니다.
다음은 예시입니다.
1. 더 큰 크기로 벡터 초기화
std::vector<int> v(1000); // Initialize vector with 1000 elements
2. reserve()를 사용하여 메모리를 사전 할당합니다.
std::vector<int> v;
v.reserve(1000); // Preallocate memory for 1000 elements
3. resize()를 사용하여 벡터의 크기를 수동으로 증가시켜줍니다.
std::vector<int> v;
v.resize(1000); // Increase the size of the vector to 1000 elements
더 많은 메모리를 사전 할당하면 벡터 재할당 빈도를 줄이고 메모리 사용량 증가 속도를 늦출 수 있습니다. 그러나 너무 많은 메모리를 미리 할당하면 낭비가 될 수 있으므로 올바른 균형을 찾는 것이 중요합니다. 그러나 이 외에도 C++ 11이후부턴 shrink_to_fit이라는 함수가 등장하였으니, 아래 참고 자료 링크를 확인하시기 바랍니다.
참고 자료 :
https://blog.naver.com/ruvendix/222102063910
반응형
'공부 > C++' 카테고리의 다른 글
Friend 키워드란? (0) | 2023.03.04 |
---|---|
모던(Modern) C++ 이란 무엇인가? (0) | 2023.02.25 |
벡터에서 push_back을 이용할 때 메모리가 왜 2배씩 늘어나는가? (0) | 2023.02.07 |
추상 클래스(abstract class)와 인터페이스(interface)의 차이 (0) | 2023.01.31 |
인터페이스(interface)의 개념 (0) | 2023.01.25 |