В общем, +1 к предыдущим постам.
а если тупо оптимизировать текущую версию, то:
1. Отказаться от динамических массивов типа String - использовать TStringList.
2. Выходы из циклов при выполнении условия (уже упоминалось).
3. Минимизировать кол-во операций со строками (upper/lower) путем того, что добавлять в список уже обработынные априори строки. тогда в сравнении тебе надо будет преобразовывать одну строку, а не обе. Плюс к этому вынести преобразование за границы цикла.
4. читать исходный файл одним куском в тот же TStringList.
5. Использовать глобальные переменнные там, где это имеет смысл.
Вот этот список - для начала.
|