intel tbb 2.2 released
서버 프로그래밍 하면서 유용하게 쓰고 있는 intel의 threading building block의 새 버젼이 릴리즈되었다. 자세한 사항은 직접 가서 보시고(…), 내가 제일 먼저 관심을 가졌던 부분만 써보겠다.
예전 글에서 썼던 내용이지만, 당연히 느려야할 병행 객체(tbb::concurrent_hash_map
)가 오히려 sequential code 용의 map
이나 hash_map
객체 보다 빨라서 놀랬던 적이 있다.1
hoard allocator라는 상당히 scalable한 메모리 할당자가 있는데, 이게 굉장히 쓰기 좋아 보였던게, C-runtime의 malloc/free 등을 링크 시간에 덮어써서 자동으로 모든 메모리 할당을 가속시켜준다는 점 때문이었다. 이번에 업데이트된 intel TBB 2.2 변경 목록에는 다음과 같은 얘기가 있다.
New in scalable memory allocator
- Improved support for memory requests bigger than 8K
- Intel® TBB 2.2 supports automatic replacement of the OS allocator with its scalable memory allocator (Microsoft Windows and Linux OS)
좀 더 큰 메모리 조각을 할당할 수 있는건 사실 큰 문제가 아니고(?), hoard처럼 일부 OS2 에서는 링크 시간에 할당자를 덮어써서 성능을 올려주는 것. 일종의 공짜 점심?