2012/11/30
C++ 문자열 비교 속도 테스트
string strSrc = "Test string...";
strSrc.compare("Test strinG...") vs _stricmp( strSrc.c_str(), "Test strinG...")
문자열 비교 테스트를 하는데 위 코드가 월등하게 빠를것으로 예상하고 테스트 했는데 아래 코드가 더 빠르다.
아래쪽은 대소문자를 무시하는 비교라 연산이 더 들어가는데 어떻게 더 빠른건가 했더니... Debug 모드이다.
Release 모드에서는 위쪽 코드를 백만번 수행해도 시간측정이 되지 않는다.(예상대로 훨씬 빨랐다.)
STL 코드에 디버그 코드가 상대적으로 많이 포함되어 있는 듯 하다.
추가로 아래의 대소문자를 구분한 코드도 비교해 보았다.
strcmp( strSrc.c_str(), "Test strinG...")
결과는 위 코드는 string의 compare 함수와 크게 차이가 나지 않았다.
보다 나은 성능을 고려할때에는 문자열 비교 할 때 대 소문자를 구분 하거나 미리 대문자든 소문자든 바꾸어 놓은 후 비교를 해야겠다.
Subscribe to:
Post Comments
(
Atom
)
No comments :
Post a Comment