Bitset의 단점을 보완한 HyperSet이야기.
1. 이전이야기 2회 열린세미나에서 발표했을때, UC에 대한 이야기를 한적이 있다. (Unique Count 집계하기)해당글을 안본사람을 위해 잠깐 설명하자면, 중복이 제거된 카운팅(=UC)을 구할때, Set 자료구조를 이용해서 카운팅한다고 했다. (=물론 그때 핵심내용은 서버에 분산 저장 가능한게 핵심이었지만...)이때, 매우 많은 아이템의 경우 HashSet은 아이템 갯수가 많아지면 커버가 안되고 BitSet을 쓰면 최대값이 큰 경우 문제가 된다고 했다. 그래서 두 장단점을 흡수하기위해 Map과 BitSet을 섞어서 구현한 SmartBitSet을 구현해서 처리했다고 했다. 아이디어는 비슷하지만 좀더 효율적으로 개선된 HyperSet이라는 Set구현체를 만들어 공개해 봤다.기본 아이디어와 소스는 git..
개발이야기/분류없음
2015. 12. 10. 10:39