logo search
TurboProlog / Документация / TOM_1

Трассировка в режиме оптимизации: shorttrace

Турбо Пролог использует оптимизацию для увеличения скорости выполне-

ния. Одним важным приемом оптимизации является исключение очереди рекур-

сии (см. "Стили программирования" в главе "Элементы языка" в справочном

руководстве).

Обычно, когда вы используете директиву trace, трассировка дает ин-

формацию обо всех операторах CALL и RETURN, которые являются логической

частью выполнения программы. Это включает в себя все вызовы и возвраты,

которые являются частью цикла хвостовой рекурсии, хотя Турбо Пролог обыч-

но оптимизирует эти вызовы. Вы можете запустить программу в режиме трас-

сировки, при котором используются преимущества такой внутренней оптимиза-

ции. В режиме оптимизированной трассировки показываются вызовы хвостовой

рекурсии в менее избыточном режиме, но информация по операторам RETURN в

этом случае выводится не всегда.

Для трассировки в режиме встроенной оптимизации используйте директи-

ву shorttrace вместо trace. (Вы можете также выбрать Shorttrace из меню

Option/Compiler Directives/Trace.)

Пример

Замените директиву trace в программе CH10EX02.PRO на директиву

shorttrace, после чего для запуска программы нажмите клавиши Alt-R.

Теперь, когда вы нажмете для выполнения программы по шагам клавишу

F10, обратите внимание, что Турбо Пролог выводит меньше информации.