어제 꽤 많은 데이터의 rb tree를 돌리는 데,
2중 rb tree로 되어 있고 순회 비용이 꽤 크다 싶었다.
선택한 방법은 차일드의 insert가 끝난 후 마지막 타임에 first만 모두 따로 root에 적어놓고,
이후 first 찾는 순회 비용을 절약하고자 했는데...
효과가 없다.
rb tree의 밸런싱 기능 때문에 그냥 쭉쭉 찾아버리니 depth가 깊지 않다면 그다지 효과가 없는 것 같다.
7분짜리가 6분 58초가 됨... 이게 뭐야 ;;
주요 루핑 함수를 인라인으로 바꾸자... 6분 47초가 됨..
O2 옵션을 적용하자 5분 41초가 됨..
O2 앞에 장사없다.
내 컴은 8CPU 니까 8개 쓰레드로 나눠봤다....
멀티쓰레드 앞에 장사없다. (게다가 락도 음슴)
.... 1분 32초....
그래도 문제는 있네... 하둡 MR 처럼 빨리는 안 되나.. 용량 키웠더니 한 없이 도네..