![]() |
Прежде чем задать вопрос, смотрите 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 -------------------- Человек должен думать, а компьютер работать.
|
![]() ![]() |
mj |
![]()
Сообщение
#2
|
![]() Adminь ![]() ![]() ![]() ![]() Группа: Администраторы Сообщений: 803 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
Виндоза не кеширует файлы по умолчанию, как это некоторые думают...
и даже в 32 битных приложениях я читаю как минимум порциями по 64 Kb, а если это же читать по 10 байт, будет в 100 раз медленнее... pi это константа... SinCos(j*2*pi*k/N,s1,c1); можно упростить до SinCos(ес*k,s1,c1); ec вычесляется за пределами цыкла и равна она будет j*2*pi/N... Если так упростить, будет выполнятся кк минимум в 2 раза быстрее... |
![]() ![]() |
![]() |
Текстовая версия | 12.07.2025 12:06 |