|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Оптимизация функции.
Помогите пожалуйста распределить нагрузку на технику.
Есть функция, она сравнивает строки в Memo1 и Memo2 (строки не повторяются), и выводит одинаковые в Memo3. При небольшом количестве строк (<100 например) программа работает быстро и правильно. Но если строк >2000, то подвисает, в диспетчере задач видно что потребление памяти не значительное, а вот процессор загружает на 100%. Подскажите пожалуйста средства с помощью которых в delphi можно ускорить работу программы и разгрузить проц (за счёт потребления памяти). Код:
procedure TForm1.Button3Click(Sender: TObject); var I,J,posSym:integer; tmp1,tmp2:string; begin //Идём по строкам Memo1 for I := 0 to Memo1.Lines.Count - 1 do begin tmp1:=Memo1.lines[i]; //Идём по строкам Memo2 for J := 0 to Memo2.Lines.Count - 1 do begin tmp2:=Memo2.lines[J]; if CompareStr(tmp1,tmp2)=0 then begin Memo3.Lines.Add(tmp1); end; end; end; end; Последний раз редактировалось Admin, 26.04.2010 в 13:05. |