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 интерфейсы) и другие возможности.
Личные инструменты