Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Профилирование и отладка





CLIPS предоставляет несколько специальных команд, предназначенных для профилирования и отладки ваших программ (табл. 16.14).

Таблица 16.14. Команды профилирования и отладки

Команда Описание
set-profile-percent-threshold Установка порогового времени профилирования
get-profile-percent-threshold Проверка текущего значения порогового времени профилирования
profile-reset Сброс всей собранной информации о профилировании правил и функций
profile-info Отображение собранной профилирующей информации
profile Включение/выключение режима профилирования
dribble-on Создание трассировочного файла
dribble-off Закрытие трассировочного файла
watch Включение режима просмотра списка элементов среды CLIPS
unwatch Выключение режима просмотра списка элементов среды CLIPS
list-watch-items Просмотр текущего состояния режима просмотра списка элементов среды

Команды set-profile-percent-threshold и get-profile-percent-threshold предназначены для установки и проверки текущего состояния процента по­рогового времени профилирования. Это значение является минимальным пороговым временем выполнения конструктора или функции, которое будет отображено с помощью команды profile-info. По умолчанию значение равно 0. Таким образом, поведением системы по умолчанию является вывод всей профилирующей информации.

Определение 16.75. Команды set-profile-percent-threshold и get-profile-percent-threshold

(set-profile-percent-threshold <целочисленное-выражение>)

(get-profile-percent-threshold)

С помощью команды profile-reset можно очистить всю накопленную про­филирующую информацию.

Определение 16.76. Команда profile-reset

(profile-reset)

Команда profile-info выводит в диалоговое окно системы всю собранную профилирующую информацию о работе конструкторов или функций, опре­деленных пользователем. Собранная информация отображается в таблице из шести столбцов. Описание содержания всех столбцов приведено ниже.

Ø Имя профилируемого конструктора или определенной пользователем функции.

Ø Количество вызовов профилируемого конструктора или определенной пользователем функции.

Ø Продолжительность выполнения конструктора или определенной поль­зователем функции.

Ø Процент времени, потраченного на выполнение конструктора или опре­деленной пользователем функции, относительно общего времени профи­лирования,

Ø Продолжительность выполнения конструктора или определенной поль­зователем функции и выполнения всех внутренних вызовов конструкто­ров или функций.

Ø Процент времени, потраченного на выполнение конструктора или опре­деленной пользователем функции и выполнения всех внутренних вызо­вов конструкторов или функций, относительно общего времени профи­лирования.

Определение 16.77. Команда profile-info

(profile-info)

Команда profile предназначена для включения/выключения профилирова­ния конструкторов или определенных пользователем функций.

Определение 16.78. Команда profile

(profile constructs | user-functions | off)

При профилировании конструкторов система замеряет время выполнения определенных пользователем и родовых функций, а также обработчиков сообщений, вызванных из правой части правил. При профилировании функций замеряется время выполнения системных и определенных поль­зователем функций. Эти режимы не совместимы и устанавливаются с по­мощью ключей constructs и user-function соответственно. Для выключения режима профилирования используется ключ off.

Для примера профилирования очистите систему CLIPS и добавьте следую­щие определения:

Пример 16.9. Необходимые определения

(clear)

(deffacts start (fact 1))

(deffunction function-1 (?x)

(bind?y 1)

(loop-for-count (*?x 10)

(bind?y (+?y?x))))

(defrule rule-1

?f <- (fact?x&: (<?x 100))

=>

(function-1?x)

(retract?f)

(assert (fact (+?x 1))))

Для профилирования конструктора правил используйте следующую после­довательность команд:







Дата добавления: 2015-08-30; просмотров: 494. Нарушение авторских прав; Мы поможем в написании вашей работы!




Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...


Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Потенциометрия. Потенциометрическое определение рН растворов Потенциометрия - это электрохимический метод иссле­дования и анализа веществ, основанный на зависимости равновесного электродного потенциала Е от активности (концентрации) определяемого вещества в исследуемом рас­творе...

Гальванического элемента При контакте двух любых фаз на границе их раздела возникает двойной электрический слой (ДЭС), состоящий из равных по величине, но противоположных по знаку электрических зарядов...

Сущность, виды и функции маркетинга персонала Перснал-маркетинг является новым понятием. В мировой практике маркетинга и управления персоналом он выделился в отдельное направление лишь в начале 90-х гг.XX века...

Пункты решения командира взвода на организацию боя. уяснение полученной задачи; оценка обстановки; принятие решения; проведение рекогносцировки; отдача боевого приказа; организация взаимодействия...

Что такое пропорции? Это соотношение частей целого между собой. Что может являться частями в образе или в луке...

Растягивание костей и хрящей. Данные способы применимы в случае закрытых зон роста. Врачи-хирурги выяснили...

Studopedia.info - Студопедия - 2014-2025 год . (0.013 сек.) русская версия | украинская версия