C++ 루틴을 최적화하려고합니다. 이 루틴의 주요 병목은 객체 벡터의 push_back()입니다. 대신 deque를 사용하여 시도하고 목록을 시도했습니다. 그러나 이상하게도 (그리고 이론과는 반대로) deque와 list 구현은 벡터보다 훨씬 느리게 실행됩니다.vector, deque 및 목록에 대한 push_back
실제로 벡터 함수보다 deque와 list 구현에서 훨씬 더 느리게 clear()가 실행됩니다. 이 경우에도 벡터 구현은 목록 구현이 가장 느린 반면 가장 빠른 것 같습니다.
모든 포인터?
참고 : vector reserve()는 구현을 가속화 할 수 있었지만 크기가 알려지지 않았기 때문에 수행 할 수 없었습니다.
감사합니다.
또 다른 참고 사항 : 결과는 push_back과 유사하며 벡터가 가장 빠르며 목록이 가장 느립니다. – Vidya
무엇을 밀어 넣으려고합니까? 복사하는 데 비용이 많이 듭니까? 값 비싼 복사 생성자가 있습니까? 자세한 내용을 게시하십시오. –
복사본이 비싸고 "스왑"기능이 있으면 복사 할 필요가 없습니다 (내 대답 참조) – Rexxar