LVEE 2007 07
Материал из Linux Vacation/Eastern Europe (LVEE).
SUN STUDIO PERFORMANCE ANALYSER
Алексей Лапшин - Sun Microsystems - Санкт-Петербург, Россия
Выполнен обзор возможностей Sun Studio Performance Analyser.
Рассмотрены анализ и оптимизация нативных(С/C++/Fortran) и Java-приложений на Solaris/OpenSolaris/Linux OC.
Нередко перед разработчиком встает вопрос - "почему моя программа
работает недостаточно быстро ?" В этот момент необходим
эффективный способ избавиться от тормозящих факторов. Даже в
несложной программе таких составляющих достаточно: неэффективный
алгоритм, ожидание ресурсов, зависимость по данным и проч. В больших
программных комплексах решение этих вопросов может превратиться в
головную боль на долгое время. Ниже рассматривается
использование Sun Studio Performance Analyser для поиска и анализа
проблем производительности как нативных(С/C++/Fortran) так и Java -
приложений, что позволяет сократить время разработки и повысить скорость
работы приложения.
- Sun Studio Performance Analyser предоставляет пользователю широкий спектр возможностей(GUI и CLI интерфейсы) для профилировки разных типов приложений. Также имеется возможность генерации множества представлений результата эксперимента.
- Примеры профилировки программ на языке С демонстрируют преимущества Sun Studio Performance Analyser при поиске и анализе неэффективно
написанного цикла. Простые преобразования исходного кода могут ускорить выполнение на порядок. Аналогичный результат может быть достигнут при использовании оптимальных ключей компиляции из командной строки.
- Рассматривая те же примеры на java можно заметить, что одинаковые проблемы имеют одинаковые решения вне зависимости от исходного языка программирования. Sun Studio Performance Analyser позволяет исследовать как java byte-code, так и оптимизированные Java HotSpot VM функции.
- Казалось бы, профилировка программы с использованием библиотеки OpenMP не должна ухудшать быстродействие приложения. Однако на практике OpenMP
иногда приводит не к ускорению, а замедлению программы. Нами исследован ряд случаев на предмет способов поиска и решения проблем.
- Использование Sun Studio Performance Analyser предоставляет также средства для профилирования функций Solaris kernel, Thread Analyzer (включая GUI и CLI интерфейсы) и другие возможности.

