소스코드리뷰(XIV) 문자열 해석의 고속처리

[목차(도우미)]
문자열을 해석하여 구문 해석을 하는 클라이언트 프로그램에서 대량의 데이터를 받아 처리할 때는 고속처리가 필요하다.

기존
개선
해석 행의 추출
전체 버퍼를 줄단위로 분해(Split)처리
첫번째 행만을 추출
서버로부터의 수신 문자 대기
특별히 대기처리를 하지 않음
해석 중의 문자열 수신은 버퍼에 추가처리
해석 행의 키워드 분해
키워드 분해(Split)처리
해석하고자 하는 키워드만을 행안에서 추출처리

문자열 버퍼를 줄단위로 분해하는 처리는 분리 처리에 부담이 되고 속도가 느리게 된다. 소스코드를 통해 말하면 for 문을 써서 루프를 계산하는 것이 아니라 while not end_of_data 루프를 사용하는 것이다.

그외에도 일전에 IF문의 판단 속도에 대해서 언급한 것처럼 처리문의 조건식등에서도 최적 코드를 사용하는 것이 필요하다.


(길에서 흔들리는 꽃을 찍으려면 상당히 어렵지요.
그래도 자주 하다 보면 어느 정도 기술이 붙네요.
찍기는 잠깐이지만 즐거움은 오래됩니다.)
by 금메달.아빠 on 2010. 6. 7. 00:26