일일빌드서버에 저희쪽 SVN에 접속하여 모든 소스를 다운을 받았습니다. 체크아웃 소요시간은 17분정도 걸립니다. 그리고 소스는 head 5G, RC 5G 총 10G입니다.
소스를 다운 받는 이유는 reference를 검색하기 위함입니다. 하도 많은 검색이 필요하지요.
Head버전에서 grep으로 소스를 검색해보려니 (grep –r ‘HttpClient’ /home/www/bdssvn/head) 약 10분정도가 소요됩니다. (fgrep도 큰차이가 없음)
그래서, Hadoop(회사 owfs와 비슷, 분산파일시스템, 야후에서 사용) 을 이용하여 Map Reduce를 써먹을려고 해서 설치하기 까다로웠지만, 로컬만 설치해서 테스트를 해보니, 역시 grep을 기반으로 한거라 어쩔 수 없이 10분 소요됩니다. 여러 대에 깔아서 하기에는 조금 거시기 하더군요.
그래서 grep보다 빠른 것이 있나 확인했더니. ack라는 것이 있었습니다. 이거 1분만에 검색결과를 보여줍니다.
실제 hadoop을 썼을 때는 분산 파일 시스템을 쓰는 부분, 메모리를 많이 사용하는 부분으로 인해서 속도가 그리 많이 높게 나오지 않는다고 합니다. 10대를 설치해서 grep을 해보면, 10배의 기대치가 있지만, 실지로는 7배 빠른 정도라고 합니다. 제 생각으로는 java 기반의 Hadoop은 IO가 가장 약한 부분이라서 side effect가 있지 않나 생각이 듭니다.
또한, grep보다 빠른 녀석이 있는데 바로 ack입니다. Perl 기반이며, 이거 테스트를 해보니 엄청 빨라서 굳이 다른 것을 써보고 싶지 않을 정도입니다. 검색결과 포맷도 예쁘구요. 자세한 것은 참고자료를 보시면서 즐기시면 좋을 것 같습니다.
참고자료
http://blog.i-no.de/archives/2008/05/06/index.html
'etc tools' 카테고리의 다른 글
라이브온에어 (0) | 2009.04.07 |
---|---|
여러 줄에서 특정 정규 패턴 찾아내기 (1) | 2009.03.09 |
7zip과 bzip2의 비교 (0) | 2009.03.02 |
디렉토리 비교, 3개의 파일 비교 가능 툴 (0) | 2009.02.20 |
James 메일 서버 (0) | 2009.02.19 |