2015/04 8

C++ iterator

An iterator is an object that can "iterate" over elements. iterator 는 컨테이너의 특정 위치를 가르킵니다.operator overloading 이 되어 있음 operator * : 현재 가르키고 있는 위치 값 operator ++: 다음 원소 operator --: 이전 원소 operator !=, ==: 두 반복자가 같은 위치를 가르키고 있는지? operator =: 반복자 할당 iterator 를 지원하는 container 는 아래와 같은 맴버 함수를 구현한다. begin() : 컨테이너의 첫번째 원소의 포지션을 가르키는 반복자 end() : 컨테이너의 마지막보다 한칸 뒤를 가르키는 반복자 cbegin() : begin()과 유사하며, const_..

카테고리 없음 2015.04.22

malloc/free performance

DPDK 에서 rte_malloc 은 기존 malloc 대비 상당히 성능 저하가 존재한다. 실험:1024 Bytes 크기의 memory 를 10,000,000 번 malloc 과 free 를 반복 수행하여 평균값을 구하였다. DPDK 성능 저하 원인:ㅇ rte_malloc 은 malloc 시 lock spin_lock을 잡고 진행되는데 thread의 개수가 증가하면 lock contention 이 발생하고 성능 저하가 linear 하게 증가하게 되는거 같다. 실험환경Ubuntu 14.04, x86_64CPU: Intel(R) Atom(TM) CPU C2758 @ 2.40GHzMemory: 32GB 소스코드 #include #include #include #include #include #include #..

R&D/DPDK 2015.04.17