Распечатать страницу

Оптимизация программ в Visual FoxPro

« Назад

Для повышения скорости выполнения программ:

- выбирайте, если это возможно, тип данных Integer: операции с таким типом данных выполняются быстрее, чем с другими типами данных;

- используйте целый тип данных для создания индексов: индексные файлы будут наиболее компактны и более производительны; уменьшение индексного файла обеспечивает применение функции BINTOC( ), преобразовывающей целую величину в двоичную в символьном представлении;

- избегайте частого открывания и закрывания таблиц; это серьезно снижает быстродействие. Вместо этого откройте нужные файлы в соответствующих областях и используйте команду SELECT для выбора подходящего файла;

- употребляйте цикл FOR ... ENDFOR вместо DO WHILE ... ENDDO, если это возможно. Первый цикл работает быстрее;

- применяйте SCATTER TO ARRAY вместо SCATTER MEMVAR как более быструю команду;

- чтобы эффективнее использовать память, не создавайте объекты до тех пор, пока в этом нет необходимости, и очищайте объект из памяти после того, как потребность в нем пропала. Для определения размера памяти, занимаемой созданными объектами, применяется функция SYS(1016);

- посылайте данные в окно, находящееся на переднем плане. Обновление окон заднего плана происходит заметно медленнее. Наиболее медленное событие – это прокрутка окна заднего плана, вызываемая выводимыми данными;

- устанавливайте SET TALK в OFF для предотвращения вывода сопутствующей исполнению программы информации;

- используйте вместо макроподстановки выражение с именем, например:

cFile = "Cust"

use &cFile        && Медленная макроподстановка

use (cFile)         && Выражение с именем; работает быстрее

- эффективно обращайтесь к свойствам объектов.