![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
SAB |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 23 Репутация: ![]() ![]() ![]() |
В программе есть цикл, обрабатывающий данные из файла:
Код repeat Read(f_in,d); SinCos(j*2*pi*k/N,s1,c1); A1:=d.Zn*c1; SA:=SA+A1; B1:=d.Zn*s1; SB:=SB+B1; k:=k+1; until k>N-1; В файле более 50000 значений. Такой цикл выполняется несколько томительных секунд. Может кто знает: как ускорить его выполнение? Сообщение отредактировано: volvo - 5.01.2005 14:03 -------------------- Человек должен думать, а компьютер работать.
|
![]() ![]() |
___ALex___ |
![]()
Сообщение
#2
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 282 Репутация: ![]() ![]() ![]() |
SAB
в паскале если не ошибаюсь n := n + 1 реализуется инструкцией ADD, а Inc(n) инстр-ей INC в Delphi же без разницы, разве что Inc-ом получается компактнее а вообще надо оптимизировать не цикл, а алгоритм Добавлено (11.10.03 7:38): в турбо Паскале 7.0 Inc(n) компилится в INC BYTE PTR [PROGRAM.N] n := n + 1 в MOV AL, [PROGRAM.N] XOR AH, AH INC AX MOV [PROGRAM.N], AL (n типа Byte) делай выводы... P.S. я был лучшего мнения о паскалевском компиляторе... |
![]() ![]() |
![]() |
Текстовая версия | 11.07.2025 4:17 |