특정 단어를 빠르게 검색하기 위하여 정렬된(Sorted := true) TStringList 객체를 사용하고 있었습니다. 그런데, 생각했던것 보다 성능이 매우 떨어졌습니다. 처음 구현할 때는 Find 메소드를 사용하지 않고 무조건 Add 메소드만을 이용했었습니다. Duplicates 속성에서 dupIgnore를 할당하여, 중복된 단어일 경우에는 음수 값을 반환할 것으로 생각했었기 때문입니다. 그래서 무조건 단어를 Add한 이후에 음수 값을 반환하면, 단어에 따른 부가 처리 부분을 수행하지 않도록 하였었습니다. 그러나 복병은 TStrings.Add 메소드에 있었습니다. Duplicates := dupIgnore를 할당하였어도 Add 메소드는, 중복된 단어인 경우에는 해당 단어의 위치값을 반환하고, 중복되지..