본문 바로가기

BoostPool 사용하기.. BoostPool의 템플릿 버전입니다.. 그냥 상속받아서 new delete 하시면 됨니다.. #pragma once #include template class CBoostPool { public: void* operator new(size_t _size) { return m_bpool.malloc(); } void operator delete(void* _p) { m_bpool.free(_p); } protected: static boost::pool m_bpool; }; template boost::pool CBoostPool::m_bpool(sizeof(T)); class CTest : public CBoostPool { public: wchar_t m_szName[64]; }; void main(.. 더보기
tbb를 배워보자.. parallel_reduce 의 사용법.. 2 parallel_reduce는 ..... 일단 코드부터 -_- #include #include #include #include #include #include using namespace tbb; using namespace std; class TbbTest { std::vector* m_vecTest; public: void operator() (const tbb::blocked_range&r) { std::vector* vecTemp = m_vecTest; for(int i = r.begin(); i != r.end(); i++) { m_fSum += (*vecTemp)[i]; } } void join(const TbbTest &y) { m_fSum += y.m_fSum; } TbbTest(TbbTe.. 더보기
tbb를 배워보자.. parallel_for의 사용법.. 1 OpenMP, PPL, TBB 이 3개중 한개만이라도 일단 배워보자 하는 마음에. 어제 속도 테스트에 혹해서 TBB에 대해서 본격적으로 배워보기로 했습니다.. 먼저 TBB의 parallel_for에 대해서 알아보겠습니다.. #include #include #include #include #include using namespace std; class TbbTest { std::vector* const m_vecTest; public: void operator() (tbb::blocked_range&r) const { std::vector* vecTemp = m_vecTest; for(int i = r.begin(); i != r.end(); i++) { (*vecTemp)[i]=i; } } TbbTest.. 더보기