Быстрое сравнение строк в C

Сейчас у меня есть такой цикл

while(1)
{
    generate_string(&buffer);

    for(int i = 0; i < filelines; i++)
    {
        if(strcmp(buffer,line[i]) == 0)
        {
           /*  do something  */
        }
    }
}

I есть файл с несколькими миллионами строк (которые, надеюсь, вскоре должны быть сокращены наполовину), количество всех этих строк хранится в файловых строках

строка [i] в ​​основном там, где хранится сама строка.

В настоящее время из-за сравнения этих миллионов строк функция generate_string(&buffer);выполняется примерно 42 раза в секунду. Есть ли более быстрый способ сравнения строк в C?

8
задан farmdve 23 May 2012 в 14:48
поделиться