Скачиваний:
21
Добавлен:
01.05.2014
Размер:
103.42 Кб
Скачать

Содержание

Содержание 1

Введение 2

Работа с VTune 3

Режим TBS 4

Отчет по модулям 6

Статистика «узких мест» 7

Представление результатов в исходном коде (Source View) 8

Введение

Профилировщик VTune разработан корпорацией Intel и предназначен для профилирования приложений, создаваемых для Microsoft Windows 95, Windows 98 и Windows NT.

VTune позволяет:

  1. Профилировать приложения Windows и Java с использованием временных или событийно-управляемых выборок, а также производить анализ программы на «узкие места»

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

  • Определить секции кода, выполнение которых занимает наибольшее время

  • Проанализировать «узкие места», отобразить соответствующий код на языке высокого уровня и рассмотреть вопросы производительности на уровне исходной программы и ассемблерного кода

  • Собирать информацию о поведении системы во время выполнения профилируемого приложения

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

  2. Анализ производительности путем статического анализа кода

  • Анализировать код функций или отмеченных блоков без выполнения приложения

  • Получить список функций и их соответствующих адресов для быстрого доступа к коду.

  1. Анализ производительности на процессорном уровне с использованием статического ассемблерного анализатора.

  • Определить, сколько тиков процессора понадобилось для выполнения каждой инструкции и сколько тиков из них обусловлены особенностями архитектуры Pentium или Pentium with MMX

  • Для архитектур Pentium или Pentium with MMX определить, сколько инструкций было совмещено (paired) и почему некоторые из инструкций совмещены не были.

  • Определить, как выполняется код в в блоках процессоров Pentium Pro и Pentium II.

  • Независимо от того, какой процессор установлен на определенно системе, VTune позволяет определить как будет выполняться код на следующих моделях процессоров фирмы Intel: Intel 486, Pentium, Pentium Pro, Pentium with MMX, Pentium II, Pentium III, Pentium II Xeon, Intel Celeron

  1. Оптимизировать блоки кода с использованием динамического ассемблерного анализатора: произвести симуляцию выполнения кода и определить поведение программы, которое может снизить производительность для Intel-процессоров.

  2. Получить совет по возможной оптимизации кода на ассемблере, С, FORTRAN, C++, Java с использованием модуля “code coach”

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

  • Проанализировать ассемблерный код (или дизассемблированный код) и получить совет по оптимизации ассемблерных инструкций.

Работа с vTune

VTune использует понятие «проект» для сохранения различных настроек профилирования. Проекты сохраняются в файлах с расширением “.vts”. В каждом проекте хранится следующая информация:

  • Имя проекта

  • Имя профилируемой программы

  • Настройки, определяющие то, как будут производиться выборки: (режим профилирования, интервал выборки, время выборки, размер буфера для хранения результатов выборки, директории с исходными файлами)

  • Состояние проекта (при последующем открытии проекта будет восстановлено его состояние перед завершением предыдущего сеанса работы)

Создавать новый проект удобнее всего при помощи Project Wizard.

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

  • Произведение измерений через регулярные промежутки времени с использованием обычного таймера. (TBS – Time Based Sampling)

  • EBS – Event Based Sampling: В данном режиме моменты измерений определяются событиями, которые генерируются процессором. По умолчанию профилировщик реагирует только на событие Clockticks, однако существует возможность настроить его и на другие события. Режим измерений, управляемых событиями процессора, очевидно, возможен только для тех систем, где установлен процессор, поддерживающий данную функциональность: Pentium Pro, Pentium II, Pentium III.

  • Режим «графа вызовов» (Call Graph Profiling): в этом режиме собирается информация о взаимосвязях между функциями (кто кого вызывает) и строится граф вызовов программы.

  • Статический анализ кода. В этом режиме анализируются инструкции в функциях и блоках кода без реального исполнения программы. Таким образом, получается оценка производительности, а не измерение реального быстродействия программы.

Для каждого режима задается ряд базовых параметров (при помощи wizard настроить их довольно легко), таких как интервал измерений (в миллисекундах, по умолчанию – 1 мс), начальная задержка ( в секундах, по умолчанию – 1 с) и размер буфера для результатов измерений (по умолчанию – 256 Кб). Заметим, что размер буфера лучше увеличить, если машина обладает достаточным количеством памяти. Когда буфер заполняется полностью, профилировщик приостанавливает измерения и записывает данные на диск. Поскольку программа в это время продолжает выполняться, есть вероятность потери данных. Больший размер буфера позволит сделать более точные измерения. Данные одной выборки VTune занимают 32 байта.