Общая информация QNX Momentics Профессиональная версия (PE) Основанный на платформе Eclipse, это полнофункциональный и высокоинтегрированный профессиональный комплект разработки, содержащий все необходимое для создания и оптимизации приложений для ОСРВ QNX Neutrino. Благодаря широкому набору удобных инструментов — от встроенных инструментов до удаленной диагностики — QNX Momentics PE обеспечивает единую гибкую программную среду для всего цикла разработки.
Профилирование программ предоставляет простой и удобный механизм проверки выполнения программы с целью ее оптимизации.
Профилирование представляет собой совокупность характеристик производительности программы, таких как время выполнения отдельных фрагментов программы, количество правильно предсказанных условных переходов и т. д. Инструмент, используемый для анализа производительности, называется профилировщик .
В этом руководстве мы шаг за шагом рассмотрим учебное многопоточное приложение.
си21 использование инструментов Профилировщик системы QNX И Профилировщик приложений QNX , чтобы продемонстрировать возможности профилирования QNX Momentics. Много фотографий Application Profiler показывает время выполнения отдельных фрагментов программы, позволяя увидеть, сколько времени программа тратит на каждую строку и каждую функцию.
System Profiler выходит за рамки традиционных отладчиков и анализаторов кода и представляет собой графический инструмент анализа системы, который позволяет вам исследовать, как все компоненты сложной системы реального времени взаимодействуют друг с другом.
Результатом является дополнительное удобство для пользователей в плане поиска ошибок и оптимизации кода, а также повышение скорости и большей предсказуемости самих систем.
Многопоточное приложение си21 построенный на семафорах (Семафор — это объект, который позволяет не более чем n потокам войти в заданный участок кода) иллюстрирует работу синхронизации потоков, в рамках данного туториала он лучше продемонстрирует работу профилировщика.
Подготовка
Для работы с данным руководством вам понадобится:- QNX Momentics для компиляции приложения и выполнения самого профилирования (последняя версия, используемая в руководстве, — 6.5, но инструменты профилирования доступны и из более ранних версий)
- Установлен QNX Neutrino для запуска скомпилированного приложения (в руководстве используется виртуальная машина).
- Среднее знание языка C++.
Профилирование
В QNX Momentics мы создадим новый проект QNX C++ на вкладке Сплошные варианты установить конфигурациюПроект создан, теперь давайте скомпилируем приложение Проект-> Создать проект , при успешной компиляции мы увидим в окне консоли следующее
Давайте создадим C/C++ QNX QConn (ip) конфигурация для выполнения программы запустить-> запустить конфигурации
В поле Приложение C/C++ давайте выберем наш проект
В поле Целевые параметры запишите IP-адрес работающей ОС QNX Neutrino
Узнать IP-адрес можно, запустив терминал в операционной системе командой есликонфигурация , для мониторинга процессов в моментике нужно запустить целевой агент qconn
Перейдите на вкладку аргументы исполняемой программы, запустите программу с аргументами.
-n20 -t2 , n — количество итераций цикла синхронизации (передачи управления), t — количество потоков, между которыми осуществляется синхронизация
Теперь давайте создадим конфигурацию профилировщика:
Запустим созданную конфигурацию профайлера; пока он работает, запускаем нашу программу.
Откроем созданный журнал; для этого перейдите на вкладку QNX System Profiler и откройте журнал (файл с расширением kev)
Общая информация:
Загрузка процессора:
Графическое представление взаимодействия процессов и потоков:
Давайте посмотрим поближе.
Давайте найдем наш процесс и рассмотрим его поближе.
Создание первого дочернего потока:
Цикл синхронизации:
Теперь перейдем на вкладку QNX Aplication Profiler.
здесь вы можете увидеть общее время выполнения отдельных функций и потоков.
Кроме того, если вы перейдете на вкладку «Информация о системе QNX», вы сможете увидеть состояние работающей операционной системы.
Запуск процессов:
Информация о выбранном процессе:
Информация о памяти:
Файловая система:
В этом руководстве мы не будем ничего оптимизировать; он был написан для демонстрации инструментов профилирования.
Литература
- Анатомия параллелизма - Олег Цирюлик, Егор Горошко
- Основы применения QNX Momentics - Сергей Зыль
-
Интрверсия
19 Oct, 24 -
Как Редактировать Страницу В Wordpress
19 Oct, 24 -
Счастье В Бедности
19 Oct, 24 -
V-Im [Мессенджер Вконтакте]
19 Oct, 24